当条件引用嵌入属性时,无法解析属性

时间:2010-08-24 03:42:15

标签: java hibernate orm hibernate-criteria

我似乎无法使用引用Embedded类中的属性的条件创建查询。当我使用“entity.embedded.property”时,它失败了。如果我为自己创建一个“entity.embedded.property”的别名,那么查询就可以工作......任何tipes都将受到赞赏......

1 个答案:

答案 0 :(得分:6)

您无法直接访问嵌入对象的属性。您应该为它创建一个别名。像

Criteria crit = session.createCriteria(XYZ.class, "entity");
crit.setProjection(Projections.property("id"));
crit.createAlias("entity.embedded", "embeddedObj");
crit.add(Restrictions.eq("embeddedObj.property1", "propert1_value"));