다대일 단반향 - 다대일 양방향
- 📚 Spring/Spring JPA
- 2023. 8. 27. 08:20
| 다대일 단반향
package hellojpa;
import javax.persistence.*;
@Entity
public class Member {
@Id @GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;
@Column(name = "USERNAME")
private String username;
@ManyToOne
@JoinColumn(name = "TEAM_ID")
private Team team;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Team getTeam() {
return team;
}
public void setTeam(Team team) {
this.team = team;
}
@Override
public String toString() {
return "Member{" +
"id=" + id +
", username='" + username + '\'' +
", team=" + team +
'}';
}
}
package hellojpa;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Team {
@Id @GeneratedValue
@Column(name = "TEAM_ID")
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
| 다대일 양방향
- Team에서 Member를 자주조회 해야 될 경우 사용
- 양방향이니 Team에 mappedby를 꼭 해줘야한다.
package hellojpa;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
public class Team {
@Id @GeneratedValue
@Column(name = "TEAM_ID")
private Long id;
private String name;
@OneToMany(mappedBy = "team")
private List<Member> members = new ArrayList<>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
'📚 Spring > Spring JPA' 카테고리의 다른 글
8장. 프록시 - 지연로딩 (0) | 2023.08.30 |
---|---|
8장. 프록시 (0) | 2023.08.28 |
[Spring JPA #7] 7장. 고급매핑 (0) | 2023.08.26 |
[정리] 준영속 (0) | 2022.03.17 |
[정리] 플러시 (flush()) (0) | 2022.03.16 |