我有一个域对象说,SalesOrder有一个名为id的复合id,由salesOrder id和repid组成,它包含在另一个名为SalesOrderID的类中(可序列化并实现equals和hashcode)
我的问题是当我想查询SalesOrder时, session.createSQLQuery(“FROM SalesOrder where id =:soID”)
和soID使用salesorder id和repid填充。无论怎样,这都会失败。
任何人都可以帮助我吗?
感谢
答案 0 :(得分:2)
很可能因为您尝试创建 SQL 查询而失败。您应该使用 HQL :
Query query = session.createQuery("from SalesOrder so where so.id=:id"); query.setParameter("id", salesOrderID); query.list();
如果这是你问题中的拼写错误,而你确实在使用 createQuery()方法,那么请发布异常堆栈跟踪。
答案 1 :(得分:0)
我在数据库bean类中的映射不正确。抱歉所有的麻烦,吸取了我的教训,为浪费你的时间而道歉。