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
반응형