【发布时间】:2012-11-23 16:02:37
【问题描述】:
我在使用OpenJPA时有以下情况:
这 3 个实体:SelectQueryElement、SingleSelectQueryElement、CompositeQueryElement 是通过 SINGLE_TABLE 继承实现的。
我还有ColumnClass 实体,它拥有顶级CompositeQueryElement。这些类中的每一个都有EAGER 加载和PERSIST/MERGE 级联类型。
现在,如果我想模仿这样的结构:
ColumnClass
| CompositeSelectQueryElement // top-level query element
| | SingleSelectQueryElement
| | CompositeSelectQueryElement
| | | SingleSelectQueryElement
| | SingleSelectQueryElement
| | CompositeSelectQueryElement
| | | SingleSelectQueryElement
...我尝试合并ColumnClass 对象,我希望插入顺序是“预购”。但我得到的甚至还没有接近。
我希望得到以下广告订单:
ColumnClass
1 | CompositeSelectQueryElement // TOP-LEVEL
2 | | SingleSelectQueryElement
3 | | CompositeSelectQueryElement
4 | | | SingleSelectQueryElement
5 | | SingleSelectQueryElement
6 | | CompositeSelectQueryElement
7 | | | SingleSelectQueryElement
或者至少:
ColumnClass
1 | CompositeSelectQueryElement // TOP-LEVEL
2 | | SingleSelectQueryElement
3 | | CompositeSelectQueryElement
6 | | | SingleSelectQueryElement
4 | | SingleSelectQueryElement
5 | | CompositeSelectQueryElement
7 | | | SingleSelectQueryElement
但是我得到的是这样的:(注意先到所有Composites,然后再到Singles)
ColumnClass
1 | CompositeSelectQueryElement // TOP-LEVEL
4 | | SingleSelectQueryElement
2 | | CompositeSelectQueryElement
5 | | | SingleSelectQueryElement
6 | | SingleSelectQueryElement
3 | | CompositeSelectQueryElement
7 | | | SingleSelectQueryElement
Singles 的顺序也不一致。有时它不是这样的,而是随机的。
问题:有没有办法解决这个订购问题并向OpenJPA“建议”我想要实现的目标。
我使用 OpenJPA v2.2。
【问题讨论】:
标签: persistence openjpa