32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# Modeling
|
|
|
|
## 어노태이션
|
|
|
|
* @Entity : 해당 클래스가 엔티티임을 명시합니다.
|
|
* @Table : 클래스의 이름과 테이블의 이름을 다르게 지정해야 할 경우에 사용합니다.
|
|
* name
|
|
|
|
* @Id : 테이블의 기본키를 지정합니다. 모든 엔티티는 @Id가 필요합니다.
|
|
* @GeneratedValue : 일반적으로 @Id와 함께 사용됩니다. 해당 필드의 값을 자동으로 생성하는 방식을 지정합니다.
|
|
* strategy
|
|
|
|
* @Column : 테이블의 칼럼으로 맵핑됩니다.
|
|
* name : 데이터베이스의 칼럼명을 지정합니다.
|
|
* unique : 고유키로 지정합니다.
|
|
* nullable : 널 처리 가능여부를 지정합니다.
|
|
* insertable
|
|
* updatable
|
|
* columnDefinition
|
|
* table
|
|
* length : 데이터의 최대 길이를 지정합니다.
|
|
* precision
|
|
* scale
|
|
* @Transient : 클래스에는 선언되어 있지만, 데이터베이스에는 필요 없는 경우에 지정합니다.
|
|
|
|
|
|
|
|
### GenerationType
|
|
* AUTO : 사용하는 데이터베이스에 맞게 자동으로 생성합니다.
|
|
* IDENTITY : AUTI_INCREMENT를 사용해서, 데이터베이스가 알아서 생성하도록 합니다.
|
|
* SEQUENCE : @SequenceGenerator로 지정된 식별자 생성기를 통해서 값을 주입받습니다.
|
|
* TABLE : @TableGenerator를 사용해서 별도의 테이블에 값을 저장합니다. |