Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- framework
- Spring
- DeepLearning
- centos
- data
- java
- mysql
- db
- 자바
- mariaDB
- Linux
- Web
- Deep
- 함수
- interface
- learning
- ai
- 인공지능
- Numpy
- Server
- javascript
- SSH
- LIST
- Pattern
- error
- git
- Analysis
- Python
- Github
- Security
Archives
- Today
- Total
PostIT
[JPA/Hibernate] Entity Mapping 관련 Annotation에 대한 정보 본문
Spring/JPA(Hibernate)
[JPA/Hibernate] Entity Mapping 관련 Annotation에 대한 정보
shun10114 2017. 1. 5. 09:15- 테이블 자동생성
1) Primary Key 매핑
가) 직접 할당
- 기본 키를 애플리케이션에 직접 할당한다.
나) 자동 생성
- IDENTITY : 기본 키를 생성해 데이터베이스에 위임한다.(Mysql, MariaDB... - Auto_Increment)
- SEQUENCE : 데이터베이스 시퀀스를 사용하여 기본키 할당. (PostgreSQL, DB2, SQL Server ...)
Example)
@Entity
@SequenceGenerator (name = "USER_SEQ_GENERATOR", sequenceName = "USER_SEQ", initialValue = 1, allocationSize=1)
//initailValue 시작 값, allocationSize 시퀀스 한번 호출에 증가하는 수(성능 최적화를 위한 값)
@Id
@GeneratedValue (strategy = GenerationType.SEQUENCE, generator = "USER_SEQ_GENERATOR")
- TABLE : 키 생성 테이블을 사용한다.
- AUTO : 위 세가지 중 데이터베이스에 적합한 방법을 스스로 선택한다.
(SEQUENCE나 TABLE 방법이 선택되면 그에 상응하는 SEQUENCE와 TABLE이 존재/설정해야 한다.)
2) Column Value 매핑
가) @Column
나) @Enumerated
다) @Temporal
라) @Lob
마) @Transient
3) Data Access Type 지정
가) @Access
- AccessType.FIELD : 필드에 직접 접근. 필드 접근 권한이 private이어도 접근한다.
- AccessType.PROPERTY : Getter를 사용하여 접근한다.
'Spring > JPA(Hibernate)' 카테고리의 다른 글
[JPA/Hibernate] @Embeddable, @Embeddaded 예제 소스 (0) | 2017.11.10 |
---|---|
[Java/JPA/Hibernate] JPA CascadeType 종류 (0) | 2017.03.14 |
[spring/hibernate]Entity 선언시에 Column으로 쓰지않는 변수에 대한 선언. @Transient (0) | 2016.11.07 |
Comments