Files
spring-boot-examples/Writerside/topics/Modeling.md
2024-06-12 13:11:58 +09:00

1.3 KiB

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를 사용해서 별도의 테이블에 값을 저장합니다.