게시판의 게시물(Board)과 사용자(User)를 가정해 보자.
사용자 1명은 n개의 게시물 작성이 가능하며, 게시물 입장에서는 게시물 n개가 1명의 사용자에게 대응될 수 있다. 때문에 n대1 관계이다.
여기서는 Board가 User를 조회하는 단방향 연결만을 다룬다.
@Entity
public class Board {
@Id // Key
private long bno; // 번호
private String title; // 제목
private String content; // 내용
private long viewCnt; // 조회수
@ManyToOne // FK 생성
@JoinColumn(name = "user_id", nullable = false) // inner join
private User user; // 사용자 = 작성자
}
@Entity
public class User {
@Id
@Column(name="user_id")
private String id; // 아이디
private String password; // 비밀번호
private String name; // 이름
private String email; // 이메일
private Date inDate; // 데이터 입력 날짜
private Date upDate; // 데이터 변경 날짜
- Enity 입장에서 단방향 연결을 위해서는 Board는 User를 Set해야한다.
board.setUser(user);
- DB Table에는 Board Atribute에 user_id가 추가된다.