问题是这样的:
使用DetachedCriteria 查询,当使用多表关联查询时只能通过其他表的主键设置值,非主键进行关联就提示
could not resolve property: XXX of XXX
例如:
c.add(Restrictions.eq("customer.id", customerId));
其中customer是本实体的一个属性,设置关联.id 为customer的主键
这种方式可以进行查询,并得到正确的结果.
c.add(Restrictions.eq("customer.number", number))
这里的number 是customer 的非主键属性,这种方式查询时提示 could not resolve property customer.number of xxx.
经过测试表明,hibernate 应该是不支持这种非主键设置值进行查询。但是使用nameQuery 写语句的方式却是可以查询并得到正确结果.
语句为:
select x from X as x where customer.number =?
谁能合解释一下呢?为什么呢?
posted on 2010-04-28 22:44
Libo 阅读(287)
评论(0) 编辑 收藏 所属分类:
其他