JPA 주석 매핑은 Java 개체를 관계형 데이터베이스 테이블에 매핑하여 데이터베이스와의 상호 작용을 단순화합니다. 엔터티 주석은 영구 개체(@Entity)를 표시하고, 필드 주석은 데이터베이스 열 매핑(@Column, @Lob)을 지정하며, 관계 매핑 주석은 엔터티 간의 관계(@OneToOne, @OneToMany, @ManyToMany)를 나타냅니다. 예를 들어 Employee 및 Department 엔터티에서 @OneToOne은 일대일 관계를 나타내고 @OneToMany는 일대다 관계를 나타냅니다.
JPA(Java Persistence API)의 주석 매핑: 객체-관계형 매핑
JPA(Java Persistence API)는 주석을 사용하여 Java 객체를 관계형 데이터베이스 테이블에 매핑하는 방법을 제공합니다. 이 매핑을 ORM(객체 관계형 매핑)이라고 하며 데이터베이스와 상호 작용하는 프로세스를 단순화합니다.
엔티티 주석
엔티티 주석은 Java 클래스를 표시하여 해당 클래스가 영구 객체임을 나타내는 데 사용됩니다. 일반적으로 사용되는 엔터티 주석은 다음과 같습니다.
@Entity
: 클래스가 JPA 엔터티임을 나타냅니다. @Entity
:指示一个类是 JPA 实体。@Id
:表示一个持久字段是实体的主键。字段注解
字段注解用于指定字段的数据库列映射。常用的字段注解包括:
@Column
:指定字段的数据库列名、类型和其他属性。@Lob
:指示字段是一个大对象(LOB),如文本或图像。关系映射注解
关系映射注解用于表示两个实体之间的关系。常用的关系映射注解包括:
@OneToOne
:一对一关系。@OneToMany
:一对多关系。@ManyToMany
:多对多关系。实战案例
假设我们有一个 Employee
实体和一个 Department
实体,它们具有以下关系:每个部门可以有多个员工,每个员工只能属于一个部门。
@Entity public class Employee { @Id private Long id; private String name; @OneToOne private Department department; } @Entity public class Department { @Id private Long id; private String name; @OneToMany(mappedBy = "department") private Set<Employee> employees; }
在前面的代码中,@OneToOne
注解指示 Employee
和 Department
之间存在一对一关系,一个员工对应一个部门。 @OneToMany
注解指示 Department
和 Employee
@Id
: 영구 필드가 엔터티의 기본 키임을 나타냅니다.
@Column
: 데이터베이스 열 이름, 유형 및 필드의 기타 속성을 지정합니다. 🎜@Lob
: 필드가 텍스트 또는 이미지와 같은 LOB(대형 개체)임을 나타냅니다. 🎜🎜관계 매핑 주석🎜🎜🎜관계 매핑 주석은 두 엔터티 간의 관계를 나타내는 데 사용됩니다. 일반적으로 사용되는 관계 매핑 주석은 다음과 같습니다. 🎜🎜🎜@OneToOne
: 일대일 관계. 🎜@OneToMany
: 일대다 관계. 🎜@ManyToMany
: 다대다 관계. 🎜🎜실제 사례🎜🎜🎜다음과 같은 관계를 갖는 Employee
엔터티와 Department
엔터티가 있다고 가정합니다. 여러 직원, 각 직원은 하나의 부서에만 속할 수 있습니다. 🎜rrreee🎜이전 코드에서 @OneToOne
주석은 Employee
와 Department
사이에 일대일 관계가 있음을 나타냅니다. 직원 한 명은 부서 한 명에 해당합니다. @OneToMany
주석은 Department
와 Employee
사이에 일대다 관계가 있으며 하나의 부서가 여러 직원에 해당함을 나타냅니다. 🎜위 내용은 JPA(Java Persistence API)의 주석은 객체 관계형 매핑에 어떻게 매핑됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!