JPA를 개발에 사용하기 위해서는 두 가지 코드가 필요하다.
- JPA를 통해서 관리하게 되는 객체를 위한 엔티티 클래스
- 엔티티 객체들을 처리하는 기능을 가진 Repository
실습
- Entity 클래스 작성
@Getter
@ToString
@Entity
@Table(name = "user")
public class User {
@Id
private @Column(length = 100) String user_id; // 유저 고유번호
@Setter @Column(nullable = false, length = 20) private String user_name; // 유저 닉네임
@CreatedDate @Column(nullable = false) private LocalDateTime write_date; // 최초 입력일자
@LastModifiedDate @Column(nullable = false) private LocalDateTime modify_date; // 수정일자
}
어노테이션 설명
@Entity
: Spring Data JPA 에서 엔티티 클래스에는 반드시 @Entity 어노테이션을 추가해야 한다.
@Entity가 붙은 클래스의 인스턴스들이 JPA로 관리되는 객체라는 것을 의미
@Table
: 데이터베이스상에서 엔티티 클래스를 어떠한 테이블로 생성할 것인지에 대한 정보를 담기위한 어노테이션.
실제 테이블은 데이터베이스 명명규칙에 따라 소문자로 생성했지만, 클래스는 대문자로 시작하도록 작성하기 위해 Table 어노테이션을 붙여주었다.
@Id, @GeneratedValue
: @Entity가 붙은 클래스는 PK에 해당하는 특정 필드를 @Id 로 지정
자동 채번을 위해서는 @GeneratedValue를 사용.
@Column
: 다양한 속성 지정 가능.
nullable, name, length 등을 이용해서 데이터베이스의 컬럼에 필요한 정보 제공.
'웹 개발 > Spring' 카테고리의 다른 글
[Spring 실습] View 환경설정 (0) | 2024.07.24 |
---|---|
[Spring 실습] 프로젝트 생성 (0) | 2024.07.24 |
[Spring] Spring Data JPA (1) | 2023.12.04 |
[Spring] JpaRepository 인터페이스 (0) | 2023.07.09 |
[Spring] ORM과 JPA (0) | 2023.07.09 |