@Table : 테이블 지정.

catalog

- optional 설정값이며 database catalog를 지정한다. 

name

- optional 설정값이며 table의 이름을 설정한다. 



@GeneratedValue :  기본키를 생성하는 전략을 설정함.

Identity

- 기본키 생성을 데이터베이스에 위임함. 예를 들어 mysql과 oracle이 기본키를 자동 생성해주는 방식이 다른데 각 db 벤더사에 기본키 생성을 위임
.

@ManyToOne, @OneToMany : 테이블 간 다대일, 일대다  관계를 설정하는 어노테이션. 

fetch

  • FetchType.EAGER (즉시로딩)
    • 해당 엔티티가 조회될 때 관계되는 엔티티를 즉시 로딩한다.
  • FetchType.LAZY (지연로딩)
    • 관계되는 엔티티를 사용할 때 데이터를 로딩한다.

cascade

  • CascadeType.PERSIST
    • 생성된 entity에 persist() 수행 시 연관 엔티티도 persist() 작업 수행
  • CascadeType.MERGE
    • detatch상태의 entity에 merge() 수행 시 연관 엔티티도 merge() 작업 수행
  • CascadeType.REMOVE
    • 해당 entity삭제시에 연관 엔티티도 함께 삭제 됨.
  • CascadeType.REFRESH
  • CascadeType.DETACH
  • CascadeType.ALL
    • 모든 CascadeType 적용



+ Recent posts