【发布时间】:2013-07-02 07:32:35
【问题描述】:
我正在尝试将 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 个结果!
当然,我做了一些研究,发现列表需要索引。但我没有尝试过,没有成功。我得到的只是一个例外:“集合的空索引列......”。我在这里和通过谷歌找到的解决方案似乎都不起作用,而且有这么多“解决方案”,我真的不知道其中哪些甚至应该起作用!
有人知道如何实现这种关系吗?如果有任何建议,我将不胜感激!
谢谢!
【问题讨论】:
标签: hibernate list indexing one-to-many