Jython (
http://www.jython.org) is a JVM scripting language that can be run interactively (i.e., gives immediate feedback) that I find invaluable for testing HQL:
>>> import net.sf.hibernate as hibernate
>>> sf = hibernate.cfg.Configuration().configure("/my.hibernate.cfg.xml").buildSessionFactory()
>>> sess = sf.openSession()
>>> rs=sess.find("select x from x in class BasePlanTerritory")
>>> rs
[com.revenuetech.mpi.beans.BasePlanTerritory@14b3a9e[terrId=1], com.revenuetech.
mpi.beans.BasePlanTerritory@b7b6ef[terrId=4], com.revenuetech.mpi.beans.BasePlan
Territory@17e4c97[terrId=5]]
>>> [x.name for x in rs]
['Corporate', 'Filters', 'Ride Control']