I'm a big fan of using the Criteria API, because it works for me, and I can do amazing things with the Hibernate Criteria API that I could never do with HQL. But, thenagain, my SQL/HQL skills aren't nearly as good as my
Java skills.
However, it should be said that a few other Hibernate experts in this forum, who are more experienced than me, look down upon my reliance upon the Criteria API. If you know HQL, and you're a bit better looking than me, you can probably write more efficient queries, especially complex ones, if you can use HQL.
-Cameron McKenzie