Java Persistence API (JPA) のアノテーションはオブジェクト リレーショナル マッピングにどのようにマッピングされますか?

王林
リリース: 2024-05-06 16:33:01
オリジナル
536 人が閲覧しました

JPA アノテーション マッピングは、Java オブジェクトをリレーショナル データベース テーブルにマップし、データベースとの対話を簡素化します。エンティティの注釈は永続オブジェクトをマークし (@Entity)、フィールドの注釈はデータベース列マッピングを指定し (@Column、@Lob)、関係マッピングの注釈はエンティティ間の関係を表します (@OneToOne、@OneToMany、@ManyToMany)。たとえば、Employee エンティティとDepartment エンティティでは、@OneToOne は 1 対 1 の関係を表し、@OneToMany は 1 対多の関係を表します。

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

Java Persistence API (JPA) のアノテーション マッピング: オブジェクト リレーショナル マッピング

Java Persistence API (JPA) は、アノテーションを使用して 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) であることを示します。 🎜🎜関係マッピング アノテーション🎜🎜🎜関係マッピング アノテーションは、2 つのエンティティ間の関係を表すために使用されます。一般的に使用されるリレーションシップ マッピング アノテーションには次のものがあります: 🎜🎜🎜@OneToOne: 1 対 1 のリレーションシップ。 🎜@OneToMany: 1 対多の関係。 🎜@ManyToMany: 多対多の関係。 🎜🎜実際的なケース🎜🎜🎜 Employee エンティティと Department エンティティがあり、これらには次の関係があるとします。複数の従業員がいる場合、各従業員は 1 つの部門にのみ所属できます。 🎜rrreee🎜 前のコードでは、@OneToOne アノテーションは、EmployeeDepartment の間に 1 対 1 の関係があることを示しています。 1 人の従業員が 1 つの部門に対応します。 @OneToMany アノテーションは、DepartmentEmployee の間に 1 対多の関係があり、1 つの部門が複数の従業員に対応していることを示します。 🎜

以上がJava Persistence API (JPA) のアノテーションはオブジェクト リレーショナル マッピングにどのようにマッピングされますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート