我正在寻找一个hibernate标准来获得以下内容:
Dokument.class映射到Role roleId
Role.class有一个ContactPerson contactId
Contact.class FirstName LastName
我想在Contact类中搜索First或LastName,并检索连接的Dokuments列表 .
我尝试过这样的事情:
session.createCriteria(Dokument.class)
.setFetchMode("role",FetchMode.JOIN)
.setFetchMode("contact",FetchMode.JOIN)
.add(Restrictions.eq("LastName","Test")).list();
我得到一个错误无法解决类“Dokument”的属性“LastName”
有人可以解释为什么连接搜索Dokument而不是所有连接表?在此先感谢您的帮助!
1 回答
获取模式仅表示必须获取关联 . 如果要对关联实体添加限制,则必须创建别名或子标准 . 我通常更喜欢使用别名,但是YMMV:
这当然在Hibernate reference manual中得到了很好的解释,javadoc for Criteria甚至有例子 . 阅读文档:它有很多有用的信息 .