코드스테이츠_국비교육/[Section3]

49.02_[Spring MVC] JPA 기반 데이터 액세스 계층_엔티티 매핑(미완)_22.11.01

생각없이 해도 생각보다 좋다. 2022. 11. 2. 00:29

JPA를 이용한 DB 테이블과 상호 작용
1. DB 테이블과 엔티티 클래스 간 매핑
>@Entity
: 클래스 레벨에 붙이는 애너테이션
: @Entity 애너테이션은 필수적으로 사용해야하는 애너테이션이다.
: 해당 클래스는 테이블과 매핑되고 JPA 관리 대상 엔티티가 된다.
-name(attribute)
: name 속성을 부여할 수 있다.
: name 속성을 부여하여 JPA 가 어떤 이름으로 관리할 지 지정한다.
: 값을 지정하지 않으면 클래스명이 기본값이 된다.
>@Table
: 클래스 레벨에 붙이는 애너테이션
: @Table 애너테이션의 사용은 선택 사항이며, 주로 Table 명이 클래스 명과 달라야할 경우 name attribute로 변경하기 위해 사용하는 애너테이션이다.
: @Table 및 name 변경이 없으면 클래스명으로 테이블명이 기본값 지정된다.
>@Id
: 필드 레벨에 붙이는 애너테이션
: @Id 애너테이션은 @Entity 애너테이션과 같이 사용해야하는 필수 애너테이션이다.
: @Entity 만 사용하면 에러가 발생한다. (식별자가 없음 에러)
//Entity와 Table은 name 속성을 사용하지 않고 기본값인 클래스명으로 만드는 것이 권장 사항이고, 둘의 이름은 같아야 한다.