IT/자바, 스프링

jpa 어노테이션

thesse 2021. 2. 2. 17:53
300x250
반응형

Entity 클래스

@Entity

 - 이 클래스가 엔티티를 위한 클래스임을 알림

 - 해당 클래스의 인스턴스들이 jpa로 관리되는 엔티티 객체라는 의미

 

@Table

 - @Entity 어노테이션과 같이 사용

 - db상에 엔티티 클래스를 어떤 테이블로 생성할 것인지에 대한 정보

 - 예컨대 @Table(name="abc") --> 이렇게 하면 abc라는 이름의 테이블로 생성됨

 

Repository 클래스

@Id

 - pk 필드

 

@GeneratedValue

 - pk 값을 자동으로 생성 (auto increment)

 - 생성 전략 : auto, identity, sequence, table

 

@Column

 - id 외 추가적인 컬럼이 필요할 때

 - 다양한 속성 지정 (nullable, name, lenght 등)

 

Builder

@Builder

 - 생성자 역할 편하게 해주는 애

 - 클래스에 @AllArgsConstructor와 @NoArgsConstructor 달아줘야 사용가능

    @Builder
    public Member(String userId,
                  String userPasswd,
                  String phone) {
        this.userId = userId;
        this.userPasswd = userPasswd;
        this.phone = phone;
    }

 

 

300x250
반응형