Java 如何在简单对象集合上实现排序?
我正在尝试这样做:Java 如何在简单对象集合上实现排序?,java,hibernate,persistence,Java,Hibernate,Persistence,我正在尝试这样做: @ElementCollection(fetch = FetchType.EAGER) @CollectionTable(name = "UserStrings") @Column(name = "string") @OrderBy private List<String> strings = new LinkedList<>(); 这很好,但是我得到的集合是一个无序的org.hibernate.collection.internal.Persist
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "UserStrings")
@Column(name = "string")
@OrderBy
private List<String> strings = new LinkedList<>();
这很好,但是我得到的集合是一个无序的org.hibernate.collection.internal.PersistentBag
,每次迭代都会得到不同的顺序。我尝试使用@OrderBy
,但它对字符串集合不起作用,如果它是实体集合,我想会起作用
我绝对相信我希望它保持一个字符串的集合,为它们创建一个新的实体是没有意义的
我希望字符串按其值排序,所以OrderColumn(我认为)也不适用于此,因为它会为排序创建额外的列
任何人都知道我能做些什么才能将它们放入有序的集合中,如ArrayList或LinkedList?抱歉,这是一个坏消息,但这似乎是一个尚未解决的问题。抱歉,这是一个坏消息,但这似乎是一个尚未解决的问题。可能会有所帮助
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="CUST_ID")
@Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class)
public SortedSet<Ticket> getTickets() {
return tickets;
}
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name=“CUST\u ID”)
@排序(type=SortType.COMPARATOR,COMPARATOR=TicketComparator.class)
公共分类集getTickets(){
回程票;
}
可能会有帮助
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="CUST_ID")
@Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class)
public SortedSet<Ticket> getTickets() {
return tickets;
}
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@JoinColumn(name=“CUST\u ID”)
@排序(type=SortType.COMPARATOR,COMPARATOR=TicketComparator.class)
公共分类集getTickets(){
回程票;
}
这有什么关系?OP说:“我绝对肯定我希望它保持一个字符串的集合,为它们创建一个新的实体是没有意义的。”这有什么关系?OP说:“我绝对肯定我希望它保持一个字符串集合,为它们创建一个新实体是没有意义的。”好消息,它刚刚得到解决。我会在它发布后立即检查它。好消息,它刚刚被解决-。它一发布我就查。