Hibernate:如何维护插入顺序

jwa*_*ell 6 java orm hibernate

我有一个实体列表,其中创建顺序很重要,但它们不包含用于排序的时间戳。实体在创建时被添加到列表的末尾,因此它们将在列表本身中正确排序。

使用 Hibernate 持久化列表后,实体按照它们的创建顺序出现在数据库表中。然而,当使用新的 Hibernate 会话检索列表时,列表现在处于插入/创建的相反顺序。

这是预期的行为吗?有没有办法按照列表中出现的相同顺序检索列表?

主键是一个 UUID,实体列表应该始终在相同的 IP 地址和 JVM 上创建。这意味着按 UUID 排序是可能的,但我宁愿不做假设。

另一种可能性是,如果保证列表总是以相反的顺序出现,我总是可以向后处理它。

Boz*_*zho 4

JPA(hibernate 实现)具有@OrderBy

@OneToMany
@OrderBy("uuidColumn")
private List<Something> list;
Run Code Online (Sandbox Code Playgroud)