我想知道是否可以用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(); 

如果执行更新或删除,则该事务是必需的;对于简单选择,该事务是可选的。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!