For oak cabinets, I've used Aqua Coat grain filler and DryDex spackle to fill the grain. Filling the grain prevents the small holes and cracks from showing up in the paint, but it doesn't totally hide the pattern of the grain. But when you fill the grain and apply two coats each of primer and paint, using the products I mention in the article, the grain is hidden pretty good. I like to fill the grain first then prime and paint. You can prime, then fill, prime again, and paint twice, but if you do it that way, sometimes what will happen is the filler will pull tannin from the wood right through the prime coat which the second coat of primer might not fully seal. That's why I like filling first then priming twice. Two coats of primer over the filler are better for preventing bleed through and the filler gets two coats which are better than only one.