
JPA를 사용하고자 할때 데이터베이스 테이블과 매핑되는 JAVA 객체
RDBMS의 테이블과 매핑되는 ORM의 클래스
@EntitiyJava 클래스를 JPA Entity로 표시하여 해당 클래스를 데이터베이스의 테이블과 매핑할 수 있도록 한다.(Entity 클래스 지정)
@Entity 어노테이션에 name이라는 속성을 통해 Entity 자체의 이름을 지정할 수 있다.
@Entity(name = "sample_table_1")
💡Tip
JAVA17이상 import jakarta.persistence.Entity;
JAVA17이하 import javax.persistence.Entity;
@TableJPA Entity 클래스와 데이터베이스 테이블간의 매핑을 설정하거나 수정할 때 사용
name
schema
catalog
uniqueConstraints
@IdJPA Entity 클래스에서 Primary Key에 해당하는 필드를 표시하는데 사용하는 어노테이션
@GeneratedValueEntity 클래스의 Primary Key에 대한 값을 자동 생성 전략을 지정하는 어노테이션
GenerationType.AUTO
GenerationType.IDENTITY
GenerationType.SEQUENCE
GenerationType.TABLE
@ColumnEntity 클래스 필드와 데이터베이스 테이블의 컬럼을 매핑을 설정하거나 수정하는 데 사용
name
nullable
unique
length
-> 만약 테이블의 컬럼명과 필드명이 동일하다면 생략이 가능
//SampleTable1
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Entity(name = "sample_table_1")
@Table(name = "sample_table_1")
public class SampleTable1Entity {
@Id
@Column(name="sample_id", nullable = false, unique = true)
private String sampleId;
@Column(name = "sample_column", nullable=false)
private Integer sampleColumn; //DB에서 NULL값을 받을수도 있기 떄문에
}
//SampleTable2
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Entity(name = "st2")
@Table(name="sample_table_2")
public class SampleTable2Entity {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer sampleAi;
private Boolean sampleColumn;
}