
Hibernate ORM は、アプリケーション、ライブラリ、フレームワークにオブジェクト/リレーショナルマッピング(ORM)サポートを提供するライブラリです。
また、ORM の標準 Java 仕様である JPA 仕様の実装も提供します。
ここはそのソースコードのリポジトリです。詳細は Hibernate.org を参照してください。
ビルドには Java 8 JDK が JAVA_HOME として必要です。
Hibernate はビルドツールとして Gradle を使用しています。Gradle に慣れていない場合は、下記の Gradle 入門 のセクションを参照してください。
コントリビュータは コントリビューティングガイド を読んでください。
開発環境として IntelliJ または Eclipse をセットアップするためのガイドを参照してください。
Hibernate のソースの開発を始めるには、CONTRIBUTING.md の はじめに セクションを確認してください。
Hibernate は CI のために Jenkins を使用しています。プロジェクトは upstream リポジトリへの各プッシュ時に継続的にビルドされます。全体的にいくつかの異なるジョブがあり、それらはすべて http://ci.hibernate.org/view/ORM/ で確認できます。
このセクションでは、Gradle に馴染みのない開発者やコントリビュータがすぐに生産的に作業を始めるために知っておくべき基本事項を説明します。Gradle のドキュメントは非常に良くできています。特に重要なのは次の 2 つです。
Gradle を実際には使用しておらず、インストールもしたくないコントリビュータのために、Gradle は wrapper と呼ばれる非常に便利な機能を提供しています。これにより、事前にインストールされた Gradle ディストリビューションなしで、ゼロコンフィグで Gradle ビルドを実行できます。Hibernate は Gradle wrapper を設定済みです。wrapper を使用したい場合や Gradle をインストールしたくない場合(または古いビルド向けに意図された Gradle のバージョンを使用したい場合)は、以下の説明で gradle(または gradle.bat)ではなく gradlew(または gradlew.bat)コマンドを使用してください。gradlew はプロジェクトのルートディレクトリでのみ利用可能なので、作業ディレクトリによっては gradlew へのパスも調整する必要があることに注意してください。
例では gradle 構文を使用していますが、wrapper を使用したい場合は gradle を gradlew(適切に相対パスに置き換えて)に置き換えるだけです。
gradlew を使用するもう一つの理由は、ビルドが動作するように定義されている正確なバージョンの Gradle を使用することです。
Gradle はビルドタスク(Ant のターゲットや Maven のフェーズ/ゴールに相当)の概念を使用します。利用可能なタスクの一覧は次で取得できます。
gradle tasks
すべてのモジュールにわたってタスクを実行するには、ルートディレクトリからそのタスクを実行するだけです。Gradle は各サブプロジェクトを訪問し、そのサブプロジェクトがタスクを定義していれば実行します。特定のモジュールでタスクを実行するには、次のいずれかを行うことができます。
cd してタスクを実行するgradle hibernate-core:test と指定します。特定のデータベースに対するテストは、次の 2 つの異なる方法で実行できます。
近日公開予定...
Hibernate ビルドは、databases.gradle にいくつかのデータベーステスト「プロファイル」を定義しています。これらのプロファイルは、db ビルドプロパティを使用して名前でアクティブ化できます。このプロパティは、JVM システムプロパティ(-D)または Gradle プロジェクトプロパティ(-P)として渡すことができます。以下の例では Gradle プロジェクトプロパティの方法を使用しています。
gradle clean build -Pdb=pgsql
IDE からテストを実行するには、プロパティの展開が行われるようにする必要があります。次のコマンドを使用してください。
gradle clean compile -Pdb=pgsql
注: Maven Central では入手できない JDBC ドライバーに対してテストを実行する場合は、これらのドライバーをローカルの Maven リポジトリキャッシュ(~/.m2/repository)に追加するか、(より良い方法として)個人の Maven リポジトリサーバーに追加してください。
databases.gradle プロファイルで設定されている任意のデータベースで、任意のテストを実行できます。
必要な作業は、次のコマンドを実行することだけです。
gradlew setDataBase -Pdb=pgsql
または、短縮版を使用することもできます。
gradlew sDB -Pdb=pgsql
これは、テスト対象のモジュールからでも、hibernate-orm ルートフォルダーからでも実行できます。
その後、IDE から任意のテストを通常どおり選択して実行するだけです。Hibernate は、setDataBase Gradle タスクによって設定された hibernate.properties ファイルからデータベース設定を取得します。