728x90
728x90
오늘은 SpringBoot JPA Entity에 대해 설명해드리겠습니다. 😊😊
SpringBoot JPA Entity란 스프링 부트에서 JPA를 사용하기 위해 정의하는 클래스입니다.
JPA는 Java Persistence API의 약자로, 자바에서 관계형 데이터베이스와 객체를 매핑하는 기술입니다.
@Entity 어노테이션을 사용하면 해당 클래스가 JPA 엔티티임을 선언할 수 있습니다.
엔티티는 데이터베이스의 테이블과 일대일로 대응하며, 각 엔티티 인스턴스는 테이블의 행을 나타냅니다.
@Entity 어노테이션은 클래스 레벨에 적용하며, 엔티티의 이름은 기본적으로 클래스의 이름과 같습니다.
name 속성을 사용하면 엔티티의 이름을 변경할 수 있습니다.
예를 들어, @Entity (name="student")와 같이 적용하면 엔티티의 이름이 student가 됩니다.
@Entity 어노테이션을 적용한 클래스는 다음과 같은 조건을 만족해야 합니다.
- 기본 생성자를 가지고 있어야 합니다.
- final로 선언되지 않아야 합니다.
- @Id 어노테이션을 사용하여 기본 키를 지정해야 합니다.
- @GeneratedValue 어노테이션을 사용하여 기본 키의 생성 전략을 선택할 수 있습니다.
- @Table 어노테이션을 사용하여 데이터베이스의 테이블 이름과 스키마를 지정할 수 있습니다.
- @Column 어노테이션을 사용하여 데이터베이스의 컬럼 이름과 속성을 지정할 수 있습니다.
다음은 SpringBoot JPA Entity의 예시입니다.
package com.example.daddydontsleep;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Customer {
@Id
@GeneratedValue (strategy=GenerationType.AUTO)
private Long id;
private String firstName;
private String lastName;
protected Customer () {}
public Customer (String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Override
public String toString () {
return String.format (
"Customer [id=%d, firstName='%s', lastName='%s']",
id, firstName, lastName);
}
public Long getId () {
return id;
}
public String getFirstName () {
return firstName;
}
public String getLastName () {
return lastName;
}
}
728x90
300x250
'Spring' 카테고리의 다른 글
[Spring; 스프링] RequestRejectedException - Spring Security (0) | 2023.10.18 |
---|---|
[Spring; 스프링] Spring Security (0) | 2023.10.05 |
[Spring; 스프링] mappedBy 연관관계 (0) | 2023.10.04 |
[Spring; 스프링] @Transactional(readOnly=true) (0) | 2023.10.04 |
[Spring; 스프링] STS 3 ( Spring Tool Suite ) 이전 버전 다운로드 (0) | 2022.11.04 |