Hibernate 5 の 4 番目の候補がリリースされたのを見たところです。以前のバージョンと比べて 5 の新機能は何ですか?
2 に答える
Hibernate 5 で変更されたものの長いリストがあります。
新しいブートストラップ APIにより、ファイルを必要とせずにプログラムで JPA 環境をブートストラップ
persistence.xml
できます。5.0 以降、Hibernate Spatial は Hibernate プロジェクトの一部であるため、GIS データも処理できます。
Java 8の日付と時刻の型は、ドメイン モデル マッピングでサポートされています。標準の SQL 日付/時刻型とサポートされている Java 8 日付/時刻クラス型の間のマッピングは次のようになります。
- 日にち:
java.time.LocalDate
- 時間:
java.time.LocalTime
、java.time.OffsetTime
- タイムスタンプ:
java.time.Instant
、java.time.LocalDateTime
、java.time.OffsetDateTime
およびjava.time.ZonedDateTime
- 日にち:
バイトコード拡張メカニズムはゼロから再設計され、Hibernate は Maven と Gradle プラグインの両方を備えています。バイトコード インストルメンテーションで強化できる主な側面が 3 つあります。
遅延初期化: フィールドは as として宣言
LAZY
でき、最初にアクセスされたときにのみフェッチされます。ダーティ チェック: エンティティが強化され、永続コンテキストに読み込まれた後に変更されたすべてのプロパティを追跡できるようになりました。
双方向の関連付け: 開発者が片側のみを更新した場合でも、双方向の関連付けの両側を自動的に同期できます。
Hibernate のネイティブ API (
Session
など) は、ジェネリック型を使用するように更新されました。エンティティをフェッチするときにキャストする必要はありません。Hibernate 5.0 は、これをより広範なタイプのセット (例:
UUID
) に拡張します。参照による第 2 レベルのキャッシュ。この機能により、不変エンティティの第 2 レベル キャッシュにエンティティ参照を直接格納できます。
Hibernate 5.0から、ゼロから作成された完全に新しいユーザー ガイドがあります。
Hibernate 5.1には、次の機能が追加されています。
Hibernate 5.2は以下のサポートを追加します。
- Java 1.8 を使用できるようになりました
Query.stream()
- Hibernate
Session
は拡張EntityManager
されているため、すべての JPA メソッドに直接アクセスできます。Session
- JCache のサポート
- セッション レベルのバッチ サイズ
Timestamp
およびのグローバル タイムゾーン設定 (UTC など)Time
- 明確なパススルー ヒント
- 定数値のより効率的な JPQL および HQL 解析
hibernate.connection.provider_disables_autocommit
リソース ローカル トランザクションの最適化。- Criteria API リテラルの処理が改善されました。