0
我已經使用spring,spring數據和mysql.I有PersonEntity
和EmailEntity
。他們之間有OneToMany
關係,即一個人有很多電子郵件。沒有獲取OneToMany關係中的所有實體
Person實體
@Entity
@Table(name = "person")
public class PersonEntity
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "personid")
private Long id;
@OneToMany(fetch = FetchType.EAGER, cascade = javax.persistence.CascadeType.ALL, mappedBy = "id")
private List<EmailEntity> emails;
}
電子郵件實體
@Entity
@Table(name = "email")
public class EmailEntity
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "emailid")
private Long id;
@ManyToOne
@JoinColumn(name = "personid")
private PersonEntity personEntity;
}
我用彈簧數據
PersonEntity personEntity = personDAO.findOne(id);
我有一個人在數據庫中的多個電子郵件獲取Person數據。 當我調試代碼時,PersonEntity
只包含一個EmailEntity
,但列表中有兩個以上的EmailEntities。
哪裏出問題了? 如果錯了,請讓我糾正?
'mappedBy'應鏈接到持有關係背面的屬性。在你的情況下,可能是'personEntity',而不是'id'。 – 2014-10-20 16:27:00
啊!謝謝;) – 2014-10-20 17:20:03
修復這個小錯誤解決了你的問題?如果是這樣,我會將其作爲實際答案發布。 – 2014-10-20 21:35:33