2 @Table
엔티티와 매핑할 테이블 지정
3. 데이터 베이스 스카마 자동생성
DDL을 애플리케이션 실행 시점에 자동 생성
테이블 중심 -> 객체중심
데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL생성
@Column : 컬럼매핑
@Temporal : 날짜 타입 매핑
@Enumerated : enum 타입 매핑
@Lob : BLOB,CLOB 매핑 (String보다 큰타입 저장 할 경우)
@Transient : 특정 필드를 컬럼에 매핑하지 않음( 매핑 무시) - > 메모리에서만 사용 DB에는 없음
Column
nullalbe(ddl), length(ddl) - >문자 길이 제약조건 String에서만 사용가능
Enumerated
자바 enum타입을 매핑할 떄 사용
속성 value 값 ORDINAL 사용 XX
Temporal
날짜 타입을 매핑할 떄 사용
LocalDate, LocalDateTime을 사용할 때는 생략 가능
LOB
데이터베이스 BLOb,CLOB 타입과 매핑
속성 x
매핑하는 필드 타입이 문자면 CLOB 매핑 , 나머지는 BLOB매핑
Transient
필드 매핑X
데이터베이스에 저장x조회 x
주로 메모리상에서만 임시로 어떤 값을 보관하고 싶을 떄 사용
속성 - 전략
* IDENTITY 데이터베이스에 위임 ,MYSQL
* SEQUENCE : 데이터베이스 시퀀스 오브젝트 사용, ORACLE
@SequenceGenerator 필요
* TABLE 키 생성용 테이블 사용 모든 DB에서 사용
@TableGenerator 필요
* AUTO 방언에 따라 자동 지정 기본값