0

假设我们使用像 Doctrine 和 Symfony2 这样的 ORM 作为框架。

如果有三个实体(A,B,C)以这种方式相互关联:

A --[1-m]-- B
B --[m-1]-- C

现在假设它C有一个属性(表列),它告诉我们C记录的正确顺序(用于用户显示目的)。
最后,我们有一个A使用 ORM 获取的类型的对象。

C对于从 开始订购的返回对象,最好的方法是什么 - 如果有的话A?我是否要编写自定义查询,因此失去 ORM 特征?

注意

如果您没有遇到问题,请记住,对于检索C对象,您必须通过B可能以不同方式排序的对象,因为订单字段位于C对象上,当然,“复制”订单也位于对象B上一个很好的解决方案

4

1 回答 1

0
SELECT a, b, c
FROM Mapping:EntityA a
JOIN a.b b
JOIN b.c c
ORDER BY b.prop1 ASC, c.prop1 ASC

这就是它的全部。所有c's属于 a 的b都是有序的,而所有b's属于 an 的a也是有序的。

于 2013-08-08T18:13:55.807 回答