我有一个域对象说,SalesOrder具有由ids组成的复合ID,称为salesid,由repid组成,包含在另一个名为SalesOrderID(可序列化并实现equals和hashcode)的类中
我的问题是当我想查询SalesOrder时,
session.createSQLQuery(“ FROM SalesOrder其中id =:soID”)
并且soID填充有salesorder ID和repid。无论如何,这都是失败的。
谁能帮帮我吗?
谢谢
最佳答案
它很可能失败,因为您正在尝试创建SQL查询。您应该改用HQL:
查询query = session.createQuery(“来自SalesOrder,所以so.id =:id”);
query.setParameter(“ id”,salesOrderID);
query.list();
如果这是您输入的问题,并且您确实在使用createQuery()方法,请发布异常堆栈跟踪。