<分区>
我有一个 mysql 数据库,其中包含 4 个具有一对多关系的表。表的所有行都以正确的顺序存储,但是当我使用 Hibernate 查询数据时,我以随机顺序获取它。(在 Set 集合中)。有人遇到过这样的问题吗?
<分区>
我有一个 mysql 数据库,其中包含 4 个具有一对多关系的表。表的所有行都以正确的顺序存储,但是当我使用 Hibernate 查询数据时,我以随机顺序获取它。(在 Set 集合中)。有人遇到过这样的问题吗?
最佳答案
Set
并不是为了保持元素的插入顺序而设计的。
LinkedHashSet
是个异常(exception)。
但是 Hibernate 不使用此实现,因为您声明 OneToMany
与 Set
的关系,例如:
@OneToMany(...)
Set<MyEntity> entities;
要解决您的问题,请在 OneToMany
关系的映射中将您的 Set
替换为 List
:
@OneToMany(...)
List<MyEntity> entities;
关于java - hibernate 。为什么从数据库查询的实体以随机顺序存储在集合中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45577109/