Jon*_*son 6 java orm hibernate jpa
我有一个表依赖于插入顺序(糟糕的遗留设计,我无法改变),并且正在以错误的顺序插入瞬态实体.有问题的表称为'Mean',它是'Belief'的子实体.当session.save(belief);被调用时,该动作被级联到子平均实体,该实体被存储为信念类中的列表.均值实体以相应的顺序存储在belief.getMeans()列表中,但一旦持久存储到数据库,它们将按其复合键的顺序插入.例如,如果有3个Mean实体要插入以下顺序和复合键:
[1, 1], [1, 3], [1, 2]
Run Code Online (Sandbox Code Playgroud)
它们将按复合键排序,如下所示:
[1, 1], [1, 2], [1, 3]
Run Code Online (Sandbox Code Playgroud)
有什么可能导致这个的想法吗?我认为Hibernate应该根据它们在List中出现的顺序插入?我甚至尝试在每个Mean实体上单独运行session.save()以查看是否会产生差异,但事实并非如此.
我感谢您的帮助!
编辑:所以我最终做的是在Mean表中添加一个名为col_index的新列,该列保存结果矩阵中Mean的列索引.我使用了新的col_index列的javax.persistence.OrderBy注释,因此List of Mean实体以适当的顺序返回.虽然,这仍然无法解决插入顺序问题,我仍然希望得到答案.但是现在,这个解决方案必须满足要求.
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |