ホームページ Java &#&チュートリアル Hibernate の 1 対 1 外部キーの関連付け

Hibernate の 1 対 1 外部キーの関連付け

Dec 10, 2016 am 09:39 AM
hibernate

1. エンティティクラスを作成します

Javaコード

package com.wr.hibernate.entity;  
  
public class Department {  
  
    private int deptId;  
    private String deptName;  
    private Manager mgr;  
  
    public int getDeptId() {  
        return deptId;  
    }  
  
    public Manager getMgr() {  
        return mgr;  
    }  
  
    public void setMgr(Manager mgr) {  
        this.mgr = mgr;  
    }  
  
    public void setDeptId(int deptId) {  
        this.deptId = deptId;  
    }  
  
    public String getDeptName() {  
        return deptName;  
    }  
  
    public void setDeptName(String deptName) {  
        this.deptName = deptName;  
    }  
  
    @Override  
    public String toString() {  
        return "Department [deptId=" + deptId + ", deptName=" + deptName + "]";  
    }  
  
}
ログイン後にコピー

Javaコード

package com.wr.hibernate.entity;  
  
public class Manager {  
  
    private int mgrId;  
    private String mgrName;  
    private Department dept;  
  
    public int getMgrId() {  
        return mgrId;  
    }  
  
    public void setMgrId(int mgrId) {  
        this.mgrId = mgrId;  
    }  
  
    public String getMgrName() {  
        return mgrName;  
    }  
  
    public void setMgrName(String mgrName) {  
        this.mgrName = mgrName;  
    }  
  
    public Department getDept() {  
        return dept;  
    }  
  
    public void setDept(Department dept) {  
        this.dept = dept;  
    }  
  
    @Override  
    public String toString() {  
        return "Manager [mgrId=" + mgrId + ", mgrName=" + mgrName + ", dept=" + dept + "]";  
    }  
  
}
ログイン後にコピー

2. POJOマッピングファイルを作成します

Xmlコード

<?xml version="1.0"?>  
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  
<hibernate-mapping package="com.wr.hibernate.entity">  
  
    <class name="Department" table="department" dynamic-insert="true">  
  
        <id name="deptId" type="java.lang.Integer">  
            <column name="dept_id" />  
            <generator class="native"></generator>  
        </id>  
  
        <property name="deptName" type="java.lang.String">  
            <column name="dept_name" />  
        </property>  
          
        <many-to-one name="mgr" class="Manager">  
            <column name="mgr_id" unique="true"></column>  
        </many-to-one>  
          
          
    </class>  
  
</hibernate-mapping>
ログイン後にコピー

Xmlコード

<?xml version="1.0"?>  
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  
<hibernate-mapping package="com.wr.hibernate.entity">  
  
    <class name="Manager" table="manager" dynamic-insert="true">  
  
        <id name="mgrId" type="java.lang.Integer">  
            <column name="mgr_id" />  
            <generator class="native"></generator>  
        </id>  
  
        <property name="mgrName" type="java.lang.String">  
            <column name="mgr_name" />  
        </property>  
          
        <one-to-one name="dept" class="Department" property-ref="mgr">  
        </one-to-one>  
  
    </class>  
  
</hibernate-mapping>
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SpringBoot プロジェクトに Hibernate を統合する方法 SpringBoot プロジェクトに Hibernate を統合する方法 May 18, 2023 am 09:49 AM

SpringBoot プロジェクトへの Hibernate の統合 はじめに Hibernate は、Java オブジェクトをデータベース テーブルにマップして永続化操作を容易にする、人気のある ORM (オブジェクト リレーショナル マッピング) フレームワークです。 SpringBoot プロジェクトでは、Hibernate を統合すると、データベース操作をより簡単に実行できるようになります。この記事では、SpringBoot プロジェクトに Hibernate を統合する方法と、対応する例を示します。 1.依存関係の導入pom.xml ファイルに次の依存関係を導入します: org.springframework.bootspring-boot-starter-data-jpam

Java エラー: Hibernate エラー、処理方法と回避方法 Java エラー: Hibernate エラー、処理方法と回避方法 Jun 25, 2023 am 09:09 AM

Java は、ソフトウェア開発の分野で広く使用されているオブジェクト指向プログラミング言語です。 Hibernate は、Java オブジェクトの永続性を管理するためのシンプルかつ効率的な方法を提供する、人気のある Java 永続性フレームワークです。ただし、開発プロセス中に Hibernate エラーが発生することが多く、これらのエラーによりプログラムが異常終了したり、不安定になったりする可能性があります。 Hibernate エラーを処理および回避する方法は、Java 開発者が習得しなければならないスキルとなっています。この記事では一般的な Hib を紹介します。

Hibernateとmybatisの違いは何ですか Hibernateとmybatisの違いは何ですか Jan 03, 2024 pm 03:35 PM

Hibernate と mybatis の違い: 1. 実装方法、2. パフォーマンス、3. オブジェクト管理の比較、4. キャッシュのメカニズム。詳細な紹介: 1. 実装方法、Hibernate はオブジェクトをデータベース テーブルにマップする完全なオブジェクト/リレーショナル マッピング ソリューションですが、MyBatis では開発者が SQL ステートメントと ResultMap を手動で記述する必要があります; 2. パフォーマンス、開発速度の点で Hibernate は可能です。 MyBatis は、Hibernate が DAO 層などを簡素化するためです。

Java Hibernate における 1 対多および多対多の関係のマッピング方法は何ですか? Java Hibernate における 1 対多および多対多の関係のマッピング方法は何ですか? May 27, 2023 pm 05:06 PM

Hibernate の 1 対多および多対多 Hibernate は、Java アプリケーションとリレーショナル データベース間のデータ アクセスを簡素化する優れた ORM フレームワークです。 Hibernate では、1 対多および多対多の関係を使用して、複雑なデータ モデルを処理できます。 Hibernate の 1 対多 Hibernate では、1 対多の関係は、1 つのエンティティ クラスが他の複数のエンティティ クラスに対応することを意味します。たとえば、1 つの注文は複数の注文アイテム (OrderItem) に対応することができ、1 人のユーザー (User) は複数の注文 (Order) に対応することができます。 Hibernate で 1 対多の関係を実装するには、エンティティ クラスでコレクション属性を定義して格納する必要があります。

Java 言語による Hibernate フレームワークの概要 Java 言語による Hibernate フレームワークの概要 Jun 10, 2023 am 11:35 AM

Hibernate は、リレーショナル データベースと Java プログラムの間のデータ マッピングを相互にバインドするオープン ソースの ORM フレームワークで、開発者がデータベース内のデータに簡単にアクセスできるようにします。 Hibernate フレームワークを使用すると、SQL ステートメントを作成する作業が大幅に軽減され、アプリケーションの開発効率と再利用性が向上します。以下の観点から Hibernate フレームワークを紹介していきます。 1. Hibernate フレームワークの利点: オブジェクト リレーショナル マッピング、データベース アクセスの詳細の隠蔽、開発の容易化

Java で Hibernate 環境を構成する方法 Java で Hibernate 環境を構成する方法 Apr 26, 2023 am 11:55 AM

1. Hibernate マッピングは、クラスとテーブル間の関係を確立するために使用されるクラス タグを構成します。 name: クラス名、table: テーブル名 ID タグ、確立される属性とテーブル内の主キーの間の対応関係プロパティの設定と、クラスへの通常の属性の設定 テーブルのフィールドとの対応関係 (1) まず、マッピング設定ファイルの書き方を学習する必要があります。エンティティ クラスと同じパッケージ内にあり、名前はクラス名.hbm.xml である必要があるため、com.meimeixia.hibernate.demo01 パッケージの下に Customer.hbm.xml ファイルを作成する必要がありますが、その制約はどのようにする必要がありますか書かれた?ハイバーナで利用可能

Hibernate の 2 次キャッシュはどのように機能しますか? Hibernate の 2 次キャッシュはどのように機能しますか? Sep 14, 2023 pm 07:45 PM

キャッシュは、クエリ実行時のデータベース ネットワーク呼び出しを減らすのに役立ちます。レベル 1 キャッシュとセッション リンク。これは暗黙的に実装されます。 1 次キャッシュは、セッション オブジェクトが存在するまで存在します。セッション オブジェクトが終了または閉じられると、キャッシュされたオブジェクトはなくなります。 2 次キャッシュは複数のセッション オブジェクトに対して機能します。セッションファクトリーとリンクされています。 2 次キャッシュ オブジェクトは、単一のセッション ファクトリを使用するすべてのセッションで使用できます。これらのキャッシュ オブジェクトは、特定のセッション ファクトリが閉じられると終了します。 2 次キャッシュを実装するには、2 次キャッシュを使用するための次の依存関係を追加する必要があります。 <!--https://mvnrepository.com/artifact/net.sf.ehcache/ehcache--><de

Hibernate で一括挿入更新操作を実行するにはどうすればよいですか? Hibernate で一括挿入更新操作を実行するにはどうすればよいですか? Aug 27, 2023 pm 11:17 PM

この記事では、Hibernate で一括挿入/更新を実行する方法を説明します。 SQL ステートメントを実行するときは、データベースに対してネットワーク呼び出しを行うことによって実行されます。ここで、データベース テーブルに 10 個のエントリを挿入する必要がある場合、10 回のネットワーク呼び出しを行う必要があります。代わりに、バッチ処理を使用してネットワーク呼び出しを最適化できます。バッチ処理を使用すると、単一のネットワーク呼び出しで一連の SQL ステートメントを実行できます。これを理解して実装するには、エンティティを定義しましょう- @EntitypublicclassParent{@Id@GeneratedValue(strategy=GenerationType.AUTO)

See all articles