【问题标题】:Single table inheritance insertion order单表继承插入顺序
【发布时间】:2012-11-23 16:02:37
【问题描述】:

我在使用OpenJPA时有以下情况:

这 3 个实体:SelectQueryElementSingleSelectQueryElementCompositeQueryElement 是通过 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


    【解决方案1】:

    来自OpenJPA mailing listThis 消息似乎表明您的解决方案是在您的配置中包含<property name="openjpa.jdbc.UpdateManager" value="operation-order">。希望对您有所帮助。

    【讨论】:

    • 谢谢!直到明天早上我才能解决这个问题,但一旦我这样做了,我会告诉你它是否有效:)
    • 做到了!太感谢了! :)
    猜你喜欢
    • 2010-10-29
    • 2016-08-09
    • 2020-09-07
    • 2014-09-12
    • 1970-01-01
    • 2017-01-15
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多