@Entity@Setter@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@ToString(of = {"id", "name"})publicclassTeam{
@Id@GeneratedValueprivate Long id;
private String name;
@OneToMany(mappedBy = "team")private List<Member> members = new ArrayList<>();
publicTeam(String name){
this.name = name;
}
}
Ex) 데이터 확인 테스트
Member 클래스를 띄운 채로 ctrl + shift + T 를 눌러서 Member 클래스에 대한 테스트 클래스를 만든다.
(h2 데이터베이스를 띄우지 않은 상태로 애플리케이션을 실행하면 socket time out 오류가 난다. )
Spring Data JPA를 쓰지 않고 순수 JPA로 확인한다.
java
열기
@SpringBootTest@Transactional@CommitpublicclassMemberTest{
@PersistenceContext
EntityManager em;
@TestpublicvoidtestEntity(){
Team teamA = new Team("teamA");
Team teamB = new Team("teamB");
em.persist(teamA);
em.persist(teamB);
Member member1 = new Member("member1", 10, teamA);
Member member2 = new Member("member2", 20, teamA);
Member member3 = new Member("member3", 30, teamB);
Member member4 = new Member("member4", 40, teamB);
em.persist(member1);
em.persist(member2);
em.persist(member3);
em.persist(member4);
// 초기화
em.flush();
em.clear();
List<Member> members = em.createQuery("SELECT m FROM Member m", Member.class)
.getResultList();
for (Member member : members) {
System.out.println("member = " + member);
System.out.println("-> member.team= " + member.getTeam());
}
}
}