I've come back to using NHibernate after using other technologies ([CSLA](http://www.lhotka.net/) and [Subsonic](http://subsonicproject.com/)) for a couple of years, and I'm finding the querying a bit frustrating, especially when compared to Subsonic. I was wondering what other approaches people are using?

The Hibernate Query Language doesn't feel right to me, seems too much like writing SQL, which to my mind is one of the reason to use an ORM tools so I don't have to, furthermore it's all in XML, which means it's poor for refactoring, and errors will only be discovered at runtime?

Criteria Queries, don't seem fluid enough.

I've [read](http://jhollingworth.wordpress.com/2008/03/28/subsonic-like-nhibernate-query-generator-button-in-visual-studio/) that Ayende's [NHibernate Query Generator](http://www.ayende.com/projects/downloads/nhibernate-query-generator.aspx), is a useful tool, is this what people are using? What else is out there?

EDIT: Worth a read
<http://www.ayende.com/Blog/archive/2007/03/17/Implementing-Linq-for-NHibernate-A-How-To-Guide--Part.aspx>