我遇到了Hibernate标准的问题.我正在尝试创建一个Criteria,我查看查询返回的类的成员对象的id.
例如:
Criteria crit = session.createCriteria(Enquiry.class);
crit.add(Expression.eq("lecture.admin.id", userId));`
Run Code Online (Sandbox Code Playgroud)
结果是一个例外:
org.hibernate.QueryException: could not resolve property: lecture.admin.id of: xxx.yyy.Enquiry
该Enquiry班确实包含讲座变量,又包含了admin变量.我尝试过使用lecture.id,效果很好.
像这样的对象层次结构中的级别数是否有限制?
谢谢!
代码片段:
public class Lecture extends TransferItem {
private User admin;
public User getAdmin() {
return admin;
}
}
Run Code Online (Sandbox Code Playgroud)
'User'类扩展了Person类,后者又扩展了一个Item类,该类具有以下getId()方法:
public Integer getId() {
if (id != null) {
return id;
}
return TransferBean.NOT_SET;
}
Run Code Online (Sandbox Code Playgroud)
从Hibernate映射XML:
<class name="User" table="user">
<id column="user_id" name="id">
<generator class="increment"/>
</id>
...
<class name="Lecture" table="lecture">
<many-to-one class="User" …Run Code Online (Sandbox Code Playgroud)