Pick through dried beans and remove any rocks (yes, I've found them in dried beans before). Rinse well and put in a large bowl and add water until water level comes to at least 3 inches above beans (beans will swell). Let soak for 8 hours, then drain and add to a large crock pot.
Add chopped onions, seasonings, ham hocks and/or pieces of ham, tomatoes and chicken broth to beans. If needed, add enough water just to cover ingredients.
Cook on low for 8 hours. If using ham hocks, remove and let cool and add any meat to the beans before serving. Freezes well.