[JPA 긴급 학습 (1)] @Entity와 @Table
@Getter
@Entity
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Bakeries extends BaseEntity {
이제 여기서는 필드)
}
1. @Entity
이건 이제 JPA에서 관리하겠다는 걸 의미.
@Entity
그런데 이제 여기에 뒤에 name 속성이 붙을 수도 있음.
@Entity(name="~~")
이런식.
근데 이건 JPA에서 사용할 엔티티 이름을 지정하겠다는 의미.
디폴트값은 클래스이름.
다른 패키지에서 이름이 충돌하지 않도록 주의해야함.
주의사항
(1) 기본 생성자는 필수 (파라미터가 없는 public or protected 생성자)
(2) final클래스, enum, interface, inner클래스에서 사용 불가.
(3) 저장할 필드에 final을 사용하면 안됨.
2. @Table
@Table
클래스 레벨에 붙음.
name : 매핑할 테이블 이름 (디폴트는 엔티티 이름)
@Table(name="Bakery")
이런 식.
이건 인제 실제 DB에 있는 Table에서 어느 거랑 매핑할지 결정해주는 역할.
위에 @Entity는 JPA자체적으로 관리할 때 붙여지는 이름.
추가로 catalog, schema, uniqueConstraints 등이 존재.
Author And Source
이 문제에 관하여([JPA 긴급 학습 (1)] @Entity와 @Table), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@red_gunny/JPA-긴급-학습-1-Entity와-Table저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)