Rinse and clean beans thoroughly. Place the beans in a large stockpot and cover the beans with cold water. Bring to a boil and add all remaining ingredients. Reduce the heat to a simmer, cover the pot with a lid, and cook for about 2 hours or until beans are fork tender. Add hot water as needed to keep beans completely covered. Remove ham hock before serving.