0
스프링, 스프링 데이터 및 mysql을 사용했습니다. PersonEntity
및 EmailEntity
이 있습니다. 그들 사이에 OneToMany
관계가 있습니다. 즉 한 사람이 많은 이메일을 가지고 있습니다.OneToMany 관계에있는 모든 엔터티를 가져 오지 않습니다.
사람 엔티티
@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);
사용하는 사람이 데이터를 가져. 코드를 디버그 할 때 PersonEntity
에는 하나의 EmailEntity
만 포함됩니다 (목록에 두 개 이상의 EmailEntities가 있음).
어디서 잘못 되었나요? 잘못 되었다면 제가 틀리게 만드시겠습니까?
'mappedBy'는 관계의 뒷면을 보유하고있는 속성에 링크해야합니다. 귀하의 경우에는'id '가 아닌'personEntity' 일 것입니다. –
아! 감사합니다;) –
작은 실수로 문제가 해결 되었습니까? 그렇다면 실제 응답으로 게시 할 것입니다. –