Place the ham hock, celery, bay leaves, sage, pepper, and water in a pot. Bring to a boil then reduce heat and cook, uncovered, for about 20 minutes.
In a separate pot, heat the safflower oil over medium heat. Cook the onion for approximately 5 minutes, stir sporadically.
Stir in the barley and cook for another minute.
Pour the broth into the barley and bring to a boil.
Reduce the heat to low and cook until all the liquid has absorbed, about 30 minutes.
If the barley is cooked but there is still liquid turn off the heat and let sit, covered until the grain absorbs the rest of the liquid. If the barley is not cooked pour in 1 or 2 tablespoons of water and continue to cook.