53

Hibernate 5 の 4 番目の候補がリリースされたのを見たところです。以前のバージョンと比べて 5 の新機能は何ですか?

4

2 に答える 2

45

Hibernate 5 で変更されたものの長いリストがあります。

  1. 新しいブートストラップ APIにより、ファイルを必要とせずにプログラムで JPA 環境をブートストラップpersistence.xmlできます。

  2. 5.0 以降、Hibernate Spatial は Hibernate プロジェクトの一部であるため、GIS データも処理できます。

  3. Java 8の日付と時刻の型は、ドメイン モデル マッピングでサポートされています。標準の SQL 日付/時刻型とサポートされている Java 8 日付/時刻クラス型の間のマッピングは次のようになります。

    • 日にち:java.time.LocalDate
    • 時間: java.time.LocalTimejava.time.OffsetTime
    • タイムスタンプ: java.time.Instantjava.time.LocalDateTimejava.time.OffsetDateTimeおよびjava.time.ZonedDateTime
  4. バイトコード拡張メカニズムはゼロから再設計され、Hibernate は Maven と Gradle プラグインの両方を備えています。バイトコード インストルメンテーションで強化できる主な側面が 3 つあります。

    • 遅延初期化: フィールドは as として宣言LAZYでき、最初にアクセスされたときにのみフェッチされます。

    • ダーティ チェック: エンティティが強化され、永続コンテキストに読み込まれた後に変更されたすべてのプロパティを追跡できるようになりました。

    • 双方向の関連付け: 開発者が片側のみを更新した場合でも、双方向の関連付けの両側を自動的に同期できます。

  5. Hibernate のネイティブ API (Sessionなど) は、ジェネリック型を使用するように更新されました。エンティティをフェッチするときにキャストする必要はありません。

  6. Hibernate 5.0 は、これをより広範なタイプのセット (例: UUID) に拡張します。

  7. 参照による第 2 レベルのキャッシュ。この機能により、不変エンティティの第 2 レベル キャッシュにエンティティ参照を直接格納できます。

  8. Hibernate 5.0から、ゼロから作成された完全に新しいユーザー ガイドがあります。

Hibernate 5.1には、次の機能が追加されています。

  1. JPQL および HQL クエリで無関係なエンティティを結合できるようになりました
  2. 識別子によるマルチエンティティ ロード

Hibernate 5.2は以下のサポートを追加します。

  1. Java 1.8 を使用できるようになりましたQuery.stream()
  2. HibernateSessionは拡張EntityManagerされているため、すべての JPA メソッドに直接アクセスできます。Session
  3. JCache のサポート
  4. セッション レベルのバッチ サイズ
  5. Timestampおよびのグローバル タイムゾーン設定 (UTC など)Time
  6. 明確なパススルー ヒント
  7. 定数値のより効率的な JPQL および HQL 解析
  8. hibernate.connection.provider_disables_autocommitリソース ローカル トランザクションの最適化。
  9. Criteria API リテラルの処理が改善されました。
于 2016-02-16T08:22:32.583 に答える