我有一个域对象说,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()方法,请发布异常堆栈跟踪。

09-25 22:04