JPA
[JPA] 12. @Entity를 사용하여 엔티티 만들기
Song hyun
2024. 9. 30. 11:47
728x90
반응형
[JPA] 12. @Entity를 사용하여 엔티티 사용하기
1. @Entity, @GenerationValue를 사용하여 엔티티 생성하기
JPA를 사용해, 쿼리를 사용하지 않고 데이터베이스에 엔티티를 만들어보자.
아무 어노테이션도 붙이지 않고, Address 객체를 생성했을 때에는 h2 console에 아무 이상이 없다.
- @Entity
- @Id
- @GenerationValue
@Entity, @Id, @GenerationValue 어노테이션을 사용해보자.
쿼리문을 사용하지 않고도 성공적으로 생성된 것을 확인할 수 있다.
package com.example.demo.model;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Address {
// @Id: DB 테이블의 PK를 나타낸다.
// DB 테이블에서 이 필드를 기준으로 레코드를 구분한다.
// @GeneratedValue
// 이 어노테이션은 기본 키가 자동으로 생성되게 하다.
// GenerationType.Identity는 DB의 Auto_increment를 사용해 기본 키 값을 자동 생성한다.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String city;
private String street;
}
2. 연습 문제: User 객체 만들기
*User는 예약어이기 때문에 생성이 되지 않는다!
*다른 숫자나 문자를 덧붙여 만들어보자.
package com.example.demo.model;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class User1 {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
}
혹은 @Entity(name="user_tb")를 통해 엔티티 명을 별도로 설정해줄 수도 있다.
package com.example.demo.model;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity(name = "tb_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
}
728x90
반응형