Computer Science/Database
[Java] Java에서 Join 기능 이용하기 (Spring, Hibernate)
⛅
2021. 6. 3. 15:17
다음의 두 entity를 참고하면 Java에서 Join 기능을 어떻게 써볼 수 있을지 감이 온다.
Member.java
@Entity
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer member_id;
@Column
private String member_name;
// @Column
// private Integer team_id;
@ManyToOne(targetEntity = Team.class)
@JoinColumn(name = "team_id")
private Team team;
// then getters/setters
}
Team.java
@Entity
public class Team {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer team_id;
@Column
private String team_name;
// then getters/setters
}
Database에서 member table과 team table이 1:N (일대다) 관계일 때, 위와 같이 entity를 작성하면 member를 부를 때 자동으로 연결된 team entity가 따라온다.
주의해야 되는 점은 Member.java에 team_id column이 없어야 한다는 점이다. team_id column이 있을 경우 다음의 에러가 발생한다:
"Caused by: org.hibernate.MappingException: Repeated column in mapping for entity"
만약 member에서 team_id를 호출하고 싶다면 다음과 같이 할 수 있다.
member.getTeam().getTeam_id()
Reference
728x90
반응형