본문 바로가기
Data Base/JPA

[JPA] : 기본 매핑하기

by 오주현 2022. 4. 6.
반응형
@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();
  • 이렇게 꺼내어 사용할 수 있어야 객체지향적으로 설계를 했다고 할 수 있는데 위에 설정해준 부분은 사실 객체지향적 설계라고 하기엔 애매하다.
반응형

댓글