Hibernate 条件和HQL不构造相同的查询
我对此有意见,但我不知道会发生什么。我的查询有错误吗?为什么返回不同的查询 标准:Hibernate 条件和HQL不构造相同的查询,hibernate,hql,criteria,hibernate-criteria,Hibernate,Hql,Criteria,Hibernate Criteria,我对此有意见,但我不知道会发生什么。我的查询有错误吗?为什么返回不同的查询 标准: Criteria cr = session.createCriteria(InventoryLocationAsset.class); result = cr.list(); Criteria cr = session.createCriteria(InventoryLocationAsset.class); cr.fetchMode("asset", FetchMode.JOIN); result = cr.
Criteria cr = session.createCriteria(InventoryLocationAsset.class);
result = cr.list();
Criteria cr = session.createCriteria(InventoryLocationAsset.class);
cr.fetchMode("asset", FetchMode.JOIN);
result = cr.list();
工作正常,但结果重复
HQL:
线程“main”org.hibernate.ObjectNotFoundException中的异常:不存在具有给定标识符的行
标准:
Criteria cr = session.createCriteria(InventoryLocationAsset.class);
result = cr.list();
Criteria cr = session.createCriteria(InventoryLocationAsset.class);
cr.fetchMode("asset", FetchMode.JOIN);
result = cr.list();
工作正常,但结果重复
HQL:
很好!!(没有重复的元素)您的错误出现在第一个HQL查询中:
Query query = session.createQuery("FROM InventoryLocationAsset");
result = query.list();
将成为:
Query query = session.createQuery("FROM " + InventoryLocationAsset.class.getName());
result = query.list();
通过这种方式,您将放置类的所有路径
关于重复的行:
您的InventoryLocationAsset
是其他资产的基类吗?如果是,请检查您的polimorphism
属性是否已设置(必须是显式的
)