반응형
@Id @GeneratedValue
@Column(name = "ITEM_ID")
private Long id;
- 컬럼명을 따로 정해줄 수 있다.
@Entity
@Table(name = "ORDERS")
// order가 예약어로 걸려있는 경우가 있따.
// order by 때문에 그래서 orders라고 쓴다.
public class Order {
@Id @GeneratedValue
@Column(name = "ORDER_ID")
private Long id;
@Column(name = "MEMBER_ID")
private Long memberId;
- 테이블 이름도 지정해 줄 수 있는데 ORDER가 ORDER BY 예약어로 걸려있는 경우가 있어서 ORDERS로 주로 사용한다.
- 다른 컬럼도 이름을 걸어줄 수 있다.
- 컬럼명은 보통 _를 활용하는 것을 선호한다.
- MemberId보다는 MEMBER_ID를 선호한다.
- 근데 요즘은 소문자를 사용하는 추세이다.
- member_id 이렇게 사용하는 추세이긴 한데 보통 회사에서 정해진 규칙이 있으니 규칙에 따라 사용하면 된다.
private Member member;
public Long getMemberId() {
return memberId;
}
public Member getMember() {
return member;
}
- 이런식으로 Member를 바로 받아서
Order order = em.find(Order.class, 1L);
Long memberId = order.getMemberId();
- 이렇게 꺼내어 사용할 수 있어야 객체지향적으로 설계를 했다고 할 수 있는데 위에 설정해준 부분은 사실 객체지향적 설계라고 하기엔 애매하다.
반응형
'Data Base > JPA' 카테고리의 다른 글
[JPA] : 양방향 연관관계, 연관관계 주인(Owner) (0) | 2022.04.08 |
---|---|
[JPA] : 연관관계 매핑 기초 (0) | 2022.04.06 |
[JPA] : 기본 키 매핑 (0) | 2022.04.05 |
[JPA] : 필드와 컬럼 매핑 (0) | 2022.04.05 |
[JPA] : 데이터베이스 스키마 자동 생성하기 (0) | 2022.04.05 |
댓글