시그마 삽질==six 시그마

JPA -Entity Mapping 본문

프로그래밍/JPA

JPA -Entity Mapping

Ethan Matthew Hunt 2020. 4. 8. 21:51
우아한 형제들의 김영한 팀장님의  '자바 ORM 표준 JPA 프로그래밍'을

구입하시길 강력 추천드립니다.

책 구입을 원하시는분은 요기를 클릭하시면 됩니다.

저자 직강 인프런 강의도 있습니다 궁금하신분은 요기를 클릭

하단의 내용은 제가 예전에 읽었던 내용을 요약 정리한 것입니다.

 

@Entity :기본 생성자 필수

@Temporal(TempralType.TIMESTAMP): 자바 날짜 타입 지정

hibernate.hbm2ddl.auto 속성 create등등(운영사용조심)

org.hibernate.cfg.imporvedNamingStrategy 테이블 명 컬럼명 생략시 카멜 표기법으로 매핑

@Column의 length와 nullable 속성은 DDL 자동생성 사용시만 의미있음

자바 기본타입에서 @Column 사용시 nullable=false로 해주는게 안전(@column nullable 기본이 true임)

 

 

- 기본키 매핑

 

1. 직접할당: 기본키를 애플리케이션에서 직접할당

2. 자동생성:

   1)IDENTITY: 기본키 생성을 DB에 위임(ID를 먼저 DB 저장후 select해옴. 쓰기지연 안됨. ex)auto_increment) 

   2)SEQUENCE: sequence를 이용,기본키할당(ID 선조회. tx commit시 Entity를 저장. allocationSize에 주의)

   3)TABLE: 키 생성 테이블 사용

 

3. 키생성 전략 사용시 hibernate.id.new_generator_mappings=true로 설정해야함

 

 

- 권장하는 식별자 선택전략

 

null(x),unique,unchangeable를 고려시 자연키(주민번호 등..) 보단 대리키(임의키)가 좋음

'프로그래밍 > JPA' 카테고리의 다른 글

JPA -다양한 연관관계 매핑  (0) 2020.04.09
JPA -연관관계 매핑  (1) 2020.04.08
JPA -Persistence Management  (0) 2020.04.08
JPA-Flow  (0) 2020.04.08
JPA -Introduction  (0) 2020.03.30
Comments