我想知道是否可以用Java代码执行HQL查询。通常我会做类似的事情
def result = Person.executeQuery('select and so on..')
但是
executeQuery方法是在运行时添加的,无法从Java代码中获得。
请您参考如下方法:
您需要访问SessionFactory或Session。如果您有SessionFactory,它将类似于
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("select and so on..");
// set parameter values, e.g.
// query.setString("name", "Matthias");
List result = query.list();
tx.commit();
session.close();
如果执行更新或删除,则该事务是必需的;对于简单选择,该事务是可选的。




