Hibernateチュートリアル、title = "Hibernateチュートリアル"

P。チュートリアルはHibernate v3.6.1.Finalに更新されています。

休止状態のクイックスタート

Hibernateフレームワークを体験するためのHello Worldの例

  • link://hibernate/quick-start-maven-hibernate-mysql-example/[Maven 2

Hibernate 3.2.3 MySQL 5.0の例(XMLマッピング)]古典的なhbmマッピングを持つMySQLデータベースのHibernate 3.2.3の例。

  • link://hibernate/maven-hibernate-annonation-mysql-example/[Maven 2

Hibernate 3.2.3 MySQL 5.0の例(注釈)]Hibernate/JPA注釈付き、MySQLデータベース内のHibernate 3.2.3の例。

  • link://hibernate/maven-3-hibernate-3-6-oracle-11g-example-xml-mapping/[Maven

3 Hibernate 3.6.3 Oracle 11gの例(XMLマッピング)]古典的なhbmマッピングを持つOracleデータベースのHibernate 3.6の例。

  • link://hibernate/maven-3-hibernate-3-6-oracle-11g-example-annotation/[Maven

3 Hibernate 3.6.3 Oracle 11gの例(Annotation)]Hibernate/JPAアノテーションを持つOracleデータベースのHibernate 3.6の例。

Hibernate Association(テーブル関係)

Hibernateでテーブルの関係を1対1、1対多、多対多に定義する方法。

  • link://hibernate/hibernate-one-to-one-relationship-example/[One-to-One

例(XMLマッピング)]hbmマッピングファイルを使って1対1の例をHibernateします。

  • link://hibernate/hibernate-one-to-one-relationship-example-annotation/[One-to-One

例(Annotation)]アノテーションコードで1対1の例を休止状態にします。

  • link://hibernate/hibernate-one-to-many-relationship-example/[1対多

例(XMLマッピング)]hbmマッピングファイルを使用して、1対多のサンプルをHibernateします。

  • link://hibernate/hibernate-one-to-many-relationship-example-annotation/[1対多

例(Annotation)]アノテーションコードを使用して、1つまたは複数のサンプルをHibernateします。

  • リンク://休止状態/休止状態 – 多対多関係 – 例/[多対多

例(XMLマッピング)]hbmマッピングファイルを使用して、多対多の例(結合表の余分な列なし)をHibernateします。

  • リンク://休止状態/休止状態 – 多対多関係 – サンプルアノテーション/[多対多

例(Annotation)]+注釈コードを使用して多対多の例(結合表の余分な列なし)をHibernateします。

  • link://hibernate/hibernate-多対多の例 – join-table-extra-column-annotation/[多対多

例 – join table extra column(Annotation)]注釈コードを使用して、多対多の例(結合表の余分な列)をHibernateします。

  • link://hibernate/inverse-true-example-and-explanation/[Off Topic:

インバースキーワーディング、例と解説を理解する]インバースは、Hibernateで最も混乱しやすいキーワードですが、関係のパフォーマンスを微調整するためには、これをはっきりと理解しておく必要があります。

Hibernate/JBoss Tools Eclipse IDE

Hibernateツールの使い方を学ぶことは必須です!

  • link://hibernate/how-to-install-hibernate-tools-in-eclipse-ide/[インストール

Eclipse IDEのHibernate/JBossツール]Eclipse IDEにHibernateをインストールします。

  • link://hibernate/how-to-generate-code-with-hibernate-tools/[生成する

Hibernateマッピングファイル

ハイバネートロギング

Hibernateへのログイン方法

  • link://hibernate/how-to-configure-log4j-in-hibernate-project/[Configure

Hibernateにログインする – SLF4j + Log4j]+ SLF4j + Log4jをHibernateに統合する。

  • link://hibernate/how-to-configure-logging-in-hibernate-logback/[Configure

Log in Hibernate – Logback]+ LogbackをHibernateと統合します。

休止状態の接続プール

Hibernateでデータベース接続プールを構成する方法

  • link://hibernate/how-to-configure-the-c3p0-connection-pool-in-hibernate/[Configure

Hibernate内のC3P0接続プール]+ HibernateとC3P0を統合します。

  • link://hibernate/how-to-configure-dbcp-connection-pool-in-hibernate/[Configure

HibernateのDBCP接続プール]Apache DBCPとHibernateを統合します。

休止状態のカスケード

休止状態カスケードは、相手側の状態を自動的に管理するために使用します。

  • link://hibernate/hibernate-cascade-example-save-update-delete-and-delete-orphan/[カスケード

例(保存、更新、削除、孤立)]孤立保存、更新、削除、削除のカスケード例そして、削除と削除の違いは孤児です。

  • link://hibernate/different-between-cascade-and-inverse/[different

カスケードとインバースの間]多くのハイバネート開発者は、カスケードとインバースの違いについて混乱しています。ここで説明します。

  • link://hibernate/cascade-jpa-hibernate-annotation-common-mistake/[カスケード

    • JPA

Hibernate Query Language(HQL)

データ操作のためにHibernate自身の言語ですが、これはデータベースのSQL言語と非常によく似ています。

  • リンク://hibernate/hibernate-query-examples-hql/[Hibernate Query

例(HQL)]HQL CRUDの例、選択、更新、削除、バッチ挿入(単一の挿入サポートなし)。

  • link://hibernate/hibernate-parameter-binding-examples/[Hibernate

パラメータのバインディングの例]”Named parameters”および “Positional parameters”メソッドを使用してHQLにパラメータをバインドします。

  • link://hibernate/how-to-embed-oracle-hints-in-hibernate-query/[How to

OracleのヒントをHibernateのクエリに埋め込む]OracleのヒントをHibernateのクエリに埋め込んで、Oracleのクエリのパフォーマンスを向上させるトリックです。

休止状態の基準

Hibernate Criteria APIは、Hibernate Query Language(HQL)の代替品です。これは、多くのオプションの検索基準では常に優れたソリューションです。

  • link://hibernate/hibernate-criteria-examples/[Hibernate Criteria

例]+ Criteriaの例 – 基本的なクエリ、順序付けクエリ、制限クエリ、および結果のページング。

HibernateネイティブSQL

いくつかのシナリオでは、Hibernate HQLまたはCriteriaはあなたが望むことを実行するには不十分です。ここではネイティブデータベースのSQL言語を直接使用できます。

  • リンク://hibernate/hibernate-native-sql-queries-examples/[Hibernate

ネイティブSQLクエリーの例]HibernateでネイティブSQLを使用する方法を示すガイド。

名前付きのHibernateクエリ

Named Queryを使用すると、開発者はHQLをXMLマッピングファイルまたは注釈に保守性の目的で置くことができます。すべてのHQL構文をJavaコード全体に散らばってはいけません。 🙂

  • リンク://hibernate/hibernate-named-query-examples/[Hibernate named query

例]XMLファイルとアノテーションで名前付きクエリを使用する

休止状態のトランザクション

Hibernate Transactionに関連するすべてのもの

  • link://hibernate/hibernate-transaction-handle-example/[Hibernate

トランザクションハンドルの例]+ Hibernateトランザクションを使用する単純な標準例。

休止状態のアドバンス手法

一部のHibernate Advance技術は、ほとんど使用しませんが実用的なスキル(データフィルタとインターセプタ)です。

  • link://hibernate/hibernate-data-filter-example-xml-and-annotation/[Hibernate

データフィルタの例 – XMLとアノテーション]Hibernateデータフィルタは、データベースからの検索データをフィルタリングするために使用されます。ここでは、XMLまたはアノテーションのデータフィルタを扱うためのガイドがあります。

  • link://hibernate/hibernate-interceptor-example-audit-log/[Hibernate

インターセプターの例 – 監査ログ]+ Hibernateインターセプターは、Hibernateインターセプターを使った監査ログ実装の詳細例であるCRUD操作のようなHibernateイベントをインターセプトするために使用されます。

休止状態のパフォーマンス

いくつかの微調整により、あなたのHibernateはより速く走ります:)

  • link://hibernate/hibernate-dynamic-insert-attribute-example/[dynamic-insert

属性の例]+動的INSERTを使用して、SQLのINSERT文でインクルード未変更プロパティを回避します。

  • link://hibernate/hibernate-dynamic-update-attribute-example/[dynamic-update

属性の例]動的挿入を使用して、SQL UPDATEステートメントのインクルード未変更プロパティーを回避します。

  • link://hibernate/hibernate-mutable-example-class-and-collection/[Hibernate

mutable example(class and collection)]不要なSQL文を生成しないように、mutableキーワードを使用します。

  • link://hibernate/hibernate-fetching-strategies-examples/[Hibernate –

フェッチ戦略の例]Hibernateのフェッチ戦略は、Hibernateで生成されたselect文を最適化するために使用され、Hibernate開発者のスキルを習得する必要があります。

  • link://hibernate/different-between-session-get-and-session-load/[異なる

session.get()とsession.load()の間の違い+データベースに不必要なヒットを避けるために、オブジェクトを取得するためにgetまたはloadを使用する必要があるときを理解する。

他のフレームワークとHibernateを統合する

Hibernateを他のフレームワークと統合する例

  • リンク://struts/struts-hibernate-integration-example/[Struts + Hibernate

統合]+ StrutsフレームワークとHibernateを統合する例。

  • リンク://struts/struts-spring-hibernate-integration-example/[Struts

Spring Hibernate Integration]HibernateとStrutsとSpringフレームワークを統合する例。

  • リンク://spring/maven-spring-hibernate-mysql-example/[Spring Hibernate

統合]SpringフレームワークとHibernateを統合する例。

  • リンク://spring/maven-spring-hibernate-annotation-mysql-example/[Spring

+ Hibernate Integration(Annotation)]+ Springフレームワーク(Annotationバージョン)とHibernateを統合する例。

休止状態のFAQ

いくつかの頻繁に答えの質問:

  • link://hibernate/how-to-load-hibernate-cfg-xml-from-different-directory/[どのようにして

別のディレクトリからhibernate.cfg.xmlをロードする]デフォルトでは、プロジェクトクラスのパスでhibernate.cfg.xmlを見ているHibernateは、指定されたフォルダからロードするためのガイドです。

  • link://hibernate/how-to-add-hibernate-xml-mapping-file-hbm-xml-programmatically/[どのようにして

プログラムでHibernate XMLマッピングファイル(hbm.xml)を追加する]+
Hibernate.cfg.xmlをプログラムでロードするヒント
** link://hibernate/hibernate-dialect-collection/[Hibernateのリスト

database Dialect]さまざまなタイプのデータベースベンダーの方言コレクションのリスト。

  • link://hibernate/hibernate-display-generated-sql-to-console-show

    sql-format

    sql-and-use

    sql

    comments/[show__sql

、format

sql、use

sql__comments]生成されたSQL文をコンソールに表示するようにHibernateを設定します。

  • link://hibernate/how-to-display-hibernate-sql-parameter-values-solution/[どのようにして

Hibernate SQLパラメータ値を表示する – P6Spy]P6Sqpyサードパーティライブラリを使用してHibernate SQLパラメータ値を表示する

  • link://hibernate/how-to-display-hibernate-sql-parameter-values-log4j/[どのようにして

Hibernate SQLパラメータ値を表示する – Log4j]Log4jを使用してHibernate SQLパラメータ値を表示する

  • link://hibernate/how-to-call-store-procedure-in-hibernate/[呼び出し方法

ストアドプロシージャをHibernateにストアする]ビジネスロジックをストアプロシージャに入れておくことはお勧めできませんが、Hibernateでストアプロシージャを呼び出すことは可能です。

  • link://hibernate/how-to-use-database-reserved-in-hibernate/[How

Hibernateでデータベース予約されたキーワードを使うために]ある特別なケースでは、あなたのHibernateクラスでdatabaseキーワードを使う必要があります(推奨しません)。

  • link://hibernate/hibernate-save-image-into-database/[保存する方法

image into database]Hibernateを使用してイメージをデータベースに保存する方法を示すチュートリアル。

休止状態の一般的なエラー

以下は、Hibernate開発における一般的なエラーメッセージのリストです。

  • link://hibernate/hibernate-not-insert-if-column-named-is-desc-like-desc/[Unable

指定された列がキーワードであれば挿入する(例えばDESC)
** リンク://hibernate/hibernate-could-not-find-c3p0connectionprovider/[Hibernate

  • C3P0ConnectionProviderが見つかりませんでした]** link://hibernate/hibernate-the-type-annotationの設定は非難されました/[Hibernate

  • AnnotationConfigurationタイプは非推奨]**

    java.lang.ClassNotFoundException

: javassist.util.proxy.MethodFilter]** link://hibernate/remember-that-ordinal-parameters-are-1-based-hibernatetemplate/[Remember

その序数パラメータは1ベースです! – 休止状態のテンプレート]** リンク://hibernate/org-hibernate-annotationexception-unknown-id-generator/[org.hibernate.AnnotationException:

不明なId.generator]** link://hibernate/hibernate-error-an-annotationconfiguration-instance-is-required-to-use/[An

AnnotationConfigurationインスタンスが必要です]** リンク://休止状態/休止状態 – エラー – 初期セッション – セッション作成 – 失敗 – java – lang – noclassdeffounderror – orgdom4jdocumentexception/[java.lang.NoClassDefFoundError:

org/dom4j/DocumentException]** link://休止状態/休止状態 – エラー – 初期セッション – セッション作成 – 失敗 – java – lang – noclassdeffounderror – orgapachecommonslogginglogfactory/[java.lang.NoClassDefFoundError:

org/apache/commons/logging/LogFactory]** link://hibernate/hibernate-error-initial-sessionfactory-creation-failed-java-lang-noclassdeffounderror-orgapachecommonscollectionssequencedハッシュマップ/[java.lang.NoClassDefFoundError:

org/apache/commons/collections/SequencedHashMap]** link://hibernate/hibernate-error-initial-sessionfactory-creation-failed-java-lang-noclassdeffounderror-netsfcglibproxycallbackfilter/[java.lang.NoClassDefFoundError:

net/sf/cglib/proxy/CallbackFilter]** link://休止状態/休止状態 – エラー初期設定 – セッションファクトリ作成 – 失敗 – java-lang-noclassdeffounderror-commchangev2c3p0datasources/[java.lang.NoClassDefFoundError:

com/mchange/v2/c3p0/DataSources]** link://hibernate/hibernate-error-initial-sessionfactory-creation-failed-java-lang-noclassdeffounderror-orghibernateannotationscommonreflectionreflectionmanager/[java.lang.NoClassDefFoundError:

org/hibernate/annotations/common/reflection/ReflectionManager]をクリックします。
** link://休止状態/休止状態例外例外 – スレッド – メイン – java – lang – noclassdeffounderror – antlrantlrexception/[java.lang.NoClassDefFoundError:

antlr/ANTLRException]** link://hibernate/hibernate-error-java-lang-noclassdeffounderror-javaxtransactionsynchronization/[java.lang.NoClassDefFoundError:

javax/transaction/Synchronization]** link://hibernate/java-lang-classformaterror-absent-code-attribute-in-class-native-or-as-class-file/[java.lang.ClassFormatError

: Absent Code attribute in method that is not native or abstract in
class file …​]** link://hibernate/java-lang-nosuchmethoderror-org-objectweb-asm-classwriter/[java.lang.NoSuchMethodError:

org.objectweb.asm.ClassWriter]** link://hibernate/java-lang-classnotfoundexception-javax-persistence-entity/[java.lang.ClassNotFoundException:

javax.persistence.Entity]** link://hibernate/java-lang-classnotfoundexception-javax-transaction-transactionmanager/[java.lang.ClassNotFoundException:

javax.transaction.TransactionManager]** link://hibernate/java-lang-classformaterror-absent-code-attribute-in-class-native-or-as-class-file/[java.lang.ClassFormatError

: Absent Code attribute in method that is not native or abstract in class file …​]

トピックを外す

  • link://hibernate/why-i-choose-hibernate-for-my-project/[なぜ私が選択するのか

私のプロジェクトのHibernateフレームワーク?]+私が将来のプロジェクトでHibernateを実装したい理由。