我正在尝试将 Hibernate 中的一对多/多对一关系与子实体列表映射。对其他关系的 Set 执行相同的操作可以找到,但我需要一个具有子实体顺序的列表。
到目前为止我所做的是:
@Entity
@Table(name="event")
public class Event {
@OneToMany(mappedBy="event", fetch=FetchType.EAGER)
private List<Message> messages; //Message entitiy is the child
//getters+setters+and some other stuff like id
}
这是多对一的一面:
@Entity
@Table(name="message")
public class Message{
@ManyToOne
@JoinColumn(name="eventid")
private Event event;
//getters+setters+and some other stuff like id
}
在此我可以插入一条消息,它将被添加到数据库(postgres)中。但是问题在于将消息作为列表获取:当仅添加一个并且在数据库中可见时,我得到同一消息的 2 个结果!
当然,我做了一些研究,发现 List 上需要一个索引。但是我没有尝试过,没有成功。我得到的只是一个例外:“集合的空索引列......”。我在这里和通过谷歌找到的解决方案似乎都不起作用,而且有很多“解决方案”,我真的不知道其中哪些甚至应该起作用!
有谁知道如何实现这种关系?如果有任何建议,我将不胜感激!
谢谢!