@Slf4j@RunWith(SpringRunner.class)@SpringBootTestpublic class MappingTest {
@PersistenceContext private EntityManager entityManager; @Test @Transactional public void testTwoway() { Team team = new Team(); team.setName("MyTeam"); entityManager.persist(team);
Member p1 = new Member(); p1.setName("user1"); p1.setTeam(team); entityManager.persist(p1);
Member p2 = new Member(); p2.setName("user2"); p2.setTeam(team); entityManager.persist(p2);
Team resultDepart = entityManager.find(Team.class, 1L); Collection<Member> memberList = resultDepart.getMembers(); assertThat(2, is(memberList.size())); }
@Data @Entity private class Member {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id;
private String name; @ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "TEAM_ID") private Team team; }
@Data @Entity private class Team {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "TEAM_ID") private long id;
private String name; @OneToMany(fetch = FetchType.EAGER, mappedBy = "team") private Collection<Member> members = new ArrayList<>(); }
}--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/f11eeecf-0072-4c20-82bc-5f434a588ac8%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.
@Entity
private class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
@ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "TEAM_ID")
private Team team;
public void setName(String name) {
this.name = name;
}
public void setTeam(Team team) {
team.addMember(this);
this.team = team;
}
}
@Entity
private class Team {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "TEAM_ID")
private long id;
private String name;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "team")
private Collection<Member> members = new ArrayList<>();
public void setName(String name) {
this.name = name;
}
public Collection<Member> getMembers() {
return members;
}
public void addMember(Member member) {
this.members.add(member);
}
}
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+unsubscribe@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/f11eeecf-0072-4c20-82bc-5f434a588ac8%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+unsubscribe@googlegroups.com에 이메일을 보내세요.