我有一个实体列表,其中创建顺序很重要,但它们不包含用于排序的时间戳。实体在创建时被添加到列表的末尾,因此它们将在列表本身中正确排序。
在使用 Hibernate 持久化列表后,实体按照它们创建的顺序出现在数据库表中。但是,当使用新的 Hibernate session 检索列表时,列表现在的插入/创建顺序相反。
这是预期的行为吗?有什么方法可以按照表中显示的顺序检索列表?
主键是一个 UUID,实体列表应该始终在相同的 IP 地址和 JVM 上创建。这意味着可以按 UUID 排序,但我不想做任何假设。
另一种可能性是,如果保证列表总是以相反的顺序出现,我总是可以倒着处理它。
最佳答案
JPA(hibernate 实现)有 @OrderBy
:
@OneToMany
@OrderBy("uuidColumn")
private List<Something> list;
关于java - Hibernate:如何维护插入顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3020232/