1

由于架构方面的考虑(分成聚合),我使用聚合 A,它对实体 B 有 B_Id,它不应该是 A 聚合的一部分。

A 的属性 B_Id 在 NHibernates XML 中简单映射如下:

<property name="B_Id" />

我喜欢用 ICriteria API 编写一个查询,它应该表达这个 SQL 查询:

SELECT * FROM a LEFT JOIN b ON a.B_Id = b.Id

现在的问题是: B_Id 没有映射为外键(也不应该)。

是否有解决方案可以在 ICriteria 重新生成的一个查询中检索 A 和 B 的所有属性?

4

1 回答 1

0

The best way to achieve this is by mapping the relationship using a query only property. You can also do it using HQL's with clause but (as far as I know) that doesn't support left outer joins. I don't know if any way to do it using the Criteria API.

于 2011-01-18T13:10:53.153 回答