Java Persistence API (JPA) のアノテーションはオブジェクト リレーショナル マッピングにどのようにマッピングされますか?
May 06, 2024 pm 04:33 PMJPA アノテーション マッピングは、Java オブジェクトをリレーショナル データベース テーブルにマップし、データベースとの対話を簡素化します。エンティティの注釈は永続オブジェクトをマークし (@Entity)、フィールドの注釈はデータベース列マッピングを指定し (@Column、@Lob)、関係マッピングの注釈はエンティティ間の関係を表します (@OneToOne、@OneToMany、@ManyToMany)。たとえば、Employee エンティティとDepartment エンティティでは、@OneToOne は 1 対 1 の関係を表し、@OneToMany は 1 対多の関係を表します。
Java Persistence API (JPA) のアノテーション マッピング: オブジェクト リレーショナル マッピング
Java Persistence API (JPA) は、アノテーションを使用して Java オブジェクトをリレーショナル データベース テーブルにマップする方法を提供します。このマッピングはオブジェクト リレーショナル マッピング (ORM) と呼ばれ、データベースとの対話プロセスを簡素化します。
エンティティ アノテーション
エンティティ アノテーションは、Java クラスをマークして、それが永続オブジェクトであることを示すために使用されます。一般的に使用されるエンティティ アノテーションには次のものがあります。
-
@Entity
: クラスが JPA エンティティであることを示します。 -
@Id
:表示一个持久字段是实体的主键。
@Entity
:指示一个类是 JPA 实体。字段注解
字段注解用于指定字段的数据库列映射。常用的字段注解包括:
-
@Column
:指定字段的数据库列名、类型和其他属性。 -
@Lob
:指示字段是一个大对象(LOB),如文本或图像。
关系映射注解
关系映射注解用于表示两个实体之间的关系。常用的关系映射注解包括:
-
@OneToOne
:一对一关系。 -
@OneToMany
:一对多关系。 -
@ManyToMany
:多对多关系。
实战案例
假设我们有一个 Employee
实体和一个 Department
实体,它们具有以下关系:每个部门可以有多个员工,每个员工只能属于一个部门。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
在前面的代码中,@OneToOne
注解指示 Employee
和 Department
之间存在一对一关系,一个员工对应一个部门。 @OneToMany
注解指示 Department
和 Employee
@Id
: 永続フィールドがエンティティの主キーであることを示します。
@Column
: フィールドのデータベース列名、タイプ、その他の属性を指定します。 🎜@Lob
: フィールドがテキストや画像などのラージ オブジェクト (LOB) であることを示します。 🎜🎜関係マッピング アノテーション🎜🎜🎜関係マッピング アノテーションは、2 つのエンティティ間の関係を表すために使用されます。一般的に使用されるリレーションシップ マッピング アノテーションには次のものがあります: 🎜🎜🎜@OneToOne
: 1 対 1 のリレーションシップ。 🎜@OneToMany
: 1 対多の関係。 🎜@ManyToMany
: 多対多の関係。 🎜🎜実際的なケース🎜🎜🎜 Employee
エンティティと Department
エンティティがあり、これらには次の関係があるとします。複数の従業員がいる場合、各従業員は 1 つの部門にのみ所属できます。 🎜rrreee🎜 前のコードでは、@OneToOne
アノテーションは、Employee
と Department
の間に 1 対 1 の関係があることを示しています。 1 人の従業員が 1 つの部門に対応します。 @OneToMany
アノテーションは、Department
と Employee
の間に 1 対多の関係があり、1 つの部門が複数の従業員に対応していることを示します。 🎜以上がJava Persistence API (JPA) のアノテーションはオブジェクト リレーショナル マッピングにどのようにマッピングされますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JUnit フレームワークのテスト メソッドにアノテーションはどのように使用されますか?

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか?

Java JPA の面接で選ばれた質問: 永続化フレームワークの習熟度をテストする

Google Guice フレームワークにおけるアノテーションの役割と使用法
