>  기사  >  Java  >  JPA(Java Persistence API)의 주석은 객체 관계형 매핑에 어떻게 매핑됩니까?

JPA(Java Persistence API)의 주석은 객체 관계형 매핑에 어떻게 매핑됩니까?

王林
王林원래의
2024-05-06 16:33:01497검색

JPA 주석 매핑은 Java 개체를 관계형 데이터베이스 테이블에 매핑하여 데이터베이스와의 상호 작용을 단순화합니다. 엔터티 주석은 영구 개체(@Entity)를 표시하고, 필드 주석은 데이터베이스 열 매핑(@Column, @Lob)을 지정하며, 관계 매핑 주석은 엔터티 간의 관계(@OneToOne, @OneToMany, @ManyToMany)를 나타냅니다. 예를 들어 Employee 및 Department 엔터티에서 @OneToOne은 일대일 관계를 나타내고 @OneToMany는 일대다 관계를 나타냅니다.

Java Persistence API(JPA)中的注解如何映射对象-关系映射?

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 注解指示 EmployeeDepartment 之间存在一对一关系,一个员工对应一个部门。 @OneToMany 注解指示 DepartmentEmployee@Id: 영구 필드가 엔터티의 기본 키임을 나타냅니다.

🎜필드 주석🎜🎜🎜필드 주석은 필드의 데이터베이스 열 매핑을 지정하는 데 사용됩니다. 일반적으로 사용되는 필드 주석은 다음과 같습니다. 🎜🎜🎜@Column: 데이터베이스 열 이름, 유형 및 필드의 기타 속성을 지정합니다. 🎜@Lob: 필드가 텍스트 또는 이미지와 같은 LOB(대형 개체)임을 나타냅니다. 🎜🎜관계 매핑 주석🎜🎜🎜관계 매핑 주석은 두 엔터티 간의 관계를 나타내는 데 사용됩니다. 일반적으로 사용되는 관계 매핑 주석은 다음과 같습니다. 🎜🎜🎜@OneToOne: 일대일 관계. 🎜@OneToMany: 일대다 관계. 🎜@ManyToMany: 다대다 관계. 🎜🎜실제 사례🎜🎜🎜다음과 같은 관계를 갖는 Employee 엔터티와 Department 엔터티가 있다고 가정합니다. 여러 직원, 각 직원은 하나의 부서에만 속할 수 있습니다. 🎜rrreee🎜이전 코드에서 @OneToOne 주석은 EmployeeDepartment 사이에 일대일 관계가 있음을 나타냅니다. 직원 한 명은 부서 한 명에 해당합니다. @OneToMany 주석은 DepartmentEmployee 사이에 일대다 관계가 있으며 하나의 부서가 여러 직원에 해당함을 나타냅니다. 🎜

위 내용은 JPA(Java Persistence API)의 주석은 객체 관계형 매핑에 어떻게 매핑됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.