ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring boot - Entity
    공부/Spring 2023. 11. 11. 15:57

    Entity : 데이터베이스의 테이블에 대응하는 클래스

     

    Entity 매핑 관령 어노테이션

    어노테이션 설명
    @Entity 클래스를 엔티티로 선언
    @Table 엔티티와 매필한 테이블 지정
    @Id 테이블 기본키에 사용할 속성을 지정
    @GeneratedValue 키 값을 생성하는 전략 명시
    @Column 필드와 컬럼 매핑
    @Lob BLOB, CLOB 타입 매핑
    @CreateionTimestamp insert 시 시간 자동저장
    @UpdateTimestamp update 시 시간 자동저장
    @Enumerated enum 타입 매핑
    @Transient 해당 필드 데이터베이스 매핑 무시
    @temporal 날짜 타입 매핑
    @CreateDate 엔티티가 생성되어 저장될 시간 자동 저장
    @LastModifiedDate 조회한 엔티티의 값을 변결 할 떄 시간 자동 저장

    *CLOB :  사이즈가 큰 데이터를 외부 파일로 저장하기 위한 데이터 타입

    *BLOB :  바이너리 데이터를 DB 외부에 저장하기 위한 타입

     

    @Column 속성

    속성 설명 기본값
    name 필으돠 매핑할 컴럼의 이름 설정 객체의 필드 이름
    unique(DDL) 유니크 제약 조건 설정  
    insertable insert 가능 여부 true
    updatable update 가능 여부 true
    length String 타입의 문자 길이 제약조건 설정 255
    nullable(DDL) null 값의 허용 여부 설정, false 설정 시 DDLL 생성시에 not null 제약조건 추가  
    columnDefinition 데이터 컬럼 정보 직접 기술  
    precisoin, scale(DDL) BigDecimal 타입에서 사용(BigInteger 가능) precision은 소수점을 포함한
    전체 자리수이고,
    scale은 소수점 자리수, Double과 float 타입에는 적용되지 않음
     

     

    @Id 의 생성 전략

    생성전략 설명
    GenerationType.AUTO (default) JPA 구현체가 자동으로 생성 잔략 결정
    GenerationType.IDENTITY 기본키 생성을 데이터베이스에 위임
    GenerationType.SEQUENCE 데이터베이스 시퀀스 오브젝트를 이용한 기본키 생성
    @SequenceGenerator를 사용하여 시퀀스 등록 필요
    GenerationType.TABLE 키 생성용 테이블 사용, @TableGenerator 필

    '공부 > Spring' 카테고리의 다른 글

    Spring boot - 연관 관계 매핑  (0) 2023.12.06
    Spring boot - 권한  (0) 2023.12.05
    Spring boot - Querydsl  (0) 2023.11.27
    Spring boot - JPA - 쿼리 메소드, JPQL snippet  (0) 2023.11.11
    Spring boot - JPA - MySQL 연결 설정  (0) 2023.11.11

    댓글

Designed by Tistory.