[JPA](2)Entity 타입 맵핑

Yu River·2022년 8월 3일
0

JPA

목록 보기
2/4
post-thumbnail
  • 어노테이션 사용 또는 xml 사용(사용 잘 안 함)

1

  • @Entity
    “엔티티”는 객체 세상에서 부르는 이름.
    보통 클래스와 같은 이름을 사용하기 때문에 값을 변경하지 않음.
    엔티티의 이름은 JQL에서 쓰임.

  • @Table
    “릴레이션" 세상에서 부르는 이름.
    @Entity의 이름이 기본값.
    테이블의 이름은 SQL에서 쓰임.

  • @Entity : 테이블 매핑

    • @Entity 의 name은 애플리케이션 내 객체 이름
    • @Table 의 name은 실제 테이블 이름



2

  • 레퍼런스 타입 VS primitive 타입
  • @Id
    엔티티의 주키를 맵핑할 때 사용.
    자바의 모든 primitive 타입과 그 랩퍼 타입을 사용할 수 있음
    레퍼런스 타입 VS primitive 타입
    Date랑 BigDecimal, BigInteger도 사용 가능.
    복합키를 만드는 맵핑하는 방법도 있지만 그건 논외로..


3

  • @GeneratedValue
    주키의 생성 방법을 맵핑하는 애노테이션
    생성 전략과 생성기를 설정할 수 있다.
    기본 전략은 AUTO: 사용하는 DB에 따라 적절한 전략 선택
    TABLE, SEQUENCE, IDENTITY 중 하나.

4

  • 게터 세터 없어도 컬럼 맵핑엔 문제없다.
  • @Column
    unique
    nullable
    length
    columnDefinition ...

5

  • @Temporal
    현재 JPA 2.1까지는 Date와 Calendar만 지원.
  • Date



  • time 타입

6

  • @Transient
    컬럼으로 맵핑하고 싶지 않은 멤버 변수에 사용.

7

  • application.properties
    spring.jpa.show-sql=true
    spring.jpa.properties.hibernate.format_sql=true



profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글