使用代理的java HQL getResultSet
我正在尝试执行此命令:
Query q = sql.get().createQuery("SELECT object(p) from Participation p where p.member.address = :address").setParameter("address", address);
List<Participation> participations = q.getResultList();
调试该函数时,“getResultList()”会经过该函数(从包org.hibernate.engine.internal;)
public Object proxyFor(EntityPersister persister, EntityKey key, Object impl) throws HibernateException {
if(!persister.hasProxy()) {
return impl;
} else {
Object proxy = this.proxiesByKey.get(key);
return proxy != null?this.narrowProxy(proxy, persister, key, impl):impl;
}
}
如何通过HQL命令强制不使用代理
# 1 楼答案
必须使用“q.list()”方法才能将结果作为列表获取
查询类没有任何具有getResultSet()名称的方法
检查查询类文档 click here!!!