BT

JPAエンティティのバージョニング

| 作者: Craig Wickesser フォローする 0 人のフォロワー , 翻訳者 佐野 徹郎 フォローする 0 人のフォロワー 投稿日 2008年8月15日. 推定読書時間: 2 分 |
先ごろバージョン1.0.0 GAをリリースしたEnvers(リンク)は、JBoss(リンク)によるオープンソースプロジェクトだ。プロジェクトのWebサイトに記載された(リンク)、プロジェクトの主要な目的は、以下のとおり。
...永続JPAクラスのバージョニングを簡単にします。あなたが行うべきことは、バージョニングしたい永続クラスと、そのいくつかのプロパティに対して、@Versionedアノテーションを付加することだけです。バージョニングされる各エンティティに対して、変更の履歴を保持するためのテーブルが作成されます。その結果あなたは、ほとんど苦労することなく、履歴データの検索と取得を行うことができます。

Enversは、HibernateおよびHibernateのエンティティマネージャと一緒に実行できるところなら、どこでも動作する。たとえばEnversは、スタンドアローン環境やアプリケーションサーバの内部で、JBoss Seam(リンク)やSpring(リンク)と一緒に実行することができる。Enversの最新リリースは、多くの機能を提供する。

  • 基本的なプロパティ(String、Integer、Long等)のバージョニング
  • 基本的なプロパティから構成される、埋め込みコンポーネントのバージョニング
  • 単純主キー、複合主キー、および埋め込み主キーによる、クラスのバージョニング
  • 1対1の単方向(所有する側のみ)および双方向関連のバージョニング
  • recal relations1対多の単方向(所有する側のみ)および双方向関連のバージョニング
  • セカンダリテーブルのサポート
  • 「リビジョンエンティティ」を利用する、各リビジョンのためのロギングデータ
  • 履歴データの検索

さらに1.0.0 GAリリースは、プレビューバージョンやベータバージョンで利用できなかった、コレクションの変更に対するリビジョニングを提供する。たとえば(リンク)

 双方向の多対1関連で、PersonとAddressのエンティティがあるとします(各個人は、住所を1つだけ持ち、同じ住所には、複数人が住むことができます)。そして、個人の住所を変更します。つまり、個人の新しい住所と古い住所のコレクションの内容を変更します。Enversのプレビューバージョンやベータバージョンでは、(Javaビーン内のデータが変更されても)データベーステーブル内のデータが変更されないので、Addressに対するリビジョンは生成されません(Personに対してのみ生成されます)。しかし、最新バージョンでは、3つのエンティティすべてに対して、リビジョンが生成されます。

もし、いくつかの理由で、この機能を利用したくないなら、わずかな設定の変更(リンク) で、それを無効にできる。 

Enversの将来のバージョンには、任意の関連をバージョニングする機能や、(保存スペースを節約するために)リビジョン間の差分だけを保存する機能、などが含まれる予定だ(リンク)。Enversは、とても新しいプロジェクトで、まだそれほど牽引力(リンク)は無いが、間違いなく注目し続ける価値がある。さらなる情報は、以下のリソースを参照してみてほしい。

原文はこちらです:http://www.infoq.com/news/2008/07/envers_1_0_0_ga

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT