我正在尝试做这样的事情:
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "UserStrings")
@Column(name = "string")
@OrderBy
private List<String> strings = new LinkedList<>();
这会产生一个表格:
UserStrings
-----------
User_object_id bigint(20) NOT NULL,
string DEFAULT NULL
这很好,但我得到的集合org.hibernate.collection.internal.PersistentBag
是无序的,每次我迭代它时,我都会得到不同的顺序。我尝试使用@OrderBy
,但它不适用于字符串集合,我想如果它是实体集合的话。
我绝对确定我希望它保留一个字符串集合,为它们创建一个新实体是没有意义的。
我想让字符串按它们的值排序,所以 OrderColumn 也(我认为)不适合这个,因为它为排序创建了额外的列。
任何人都知道我可以做些什么来将它们放入像 ArrayList 或 LinkedList 这样的有序集合中?