【发布时间】:2011-01-13 11:41:29
【问题描述】:
我想使用 Criteria API 在两个表之间执行 LEFT OUTER JOIN。我在 Hibernate 文档中只能找到这种方法:
Criteria criteria = this.crudService
.initializeCriteria(Applicant.class)
.setFetchMode("products", FetchMode.JOIN)
.createAlias("products", "product");
但是,由于它返回的结果数量,这要么执行内连接,要么执行右外连接。
我还希望我的加入是 Lazy。我该怎么做?
干杯!
更新:似乎使用别名会自动连接 INNER JOIN。 “背景故事”中有些东西我还没有掌握。所以,今天没有别名。这给我留下了对这两个表应用限制的问题,因为它们都有一个列(或属性,如果这更合适的话)'name'。
【问题讨论】:
-
接受答案。
-
我想知道您对“默认情况下 Hibernate 中的 createAlia() 会创建一个 INNER JOIN”的引用。我已经搜索了 API,但看不到它。谢谢。
标签: hibernate criteria outer-join