java - Hibernate:如何维护插入顺序

标签 java hibernate orm

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

在使用 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/

相关文章:

java - SQLite 类未找到异常 - 使用 Tomcat 的 Maven 项目

java - 在hibernate中设置全局查询超时

mysql - 使用 native 查询和日期属性的 Spring Data 错误结果

c# - Telerik openaccess ORM值得学习吗?

java - 数组中可以有重复项吗?

java - 如何在@create 之前在Seam 组件中设置属性?

python - 连接表中的复杂过滤器 SQLAlchemy

java - 像 Hibernate 这样的框架带来了多少开销?

java - 线程在 Java 聊天应用程序中的行为不符合我的要求

java - Hibernate 多值关联最佳实践