まずは、私はHibernateを初めて使う人です。 私は、Netbeansで構築されたスタンドアロンのJavaアプリケーションを、可能な限りMVCモデルに保存しようとしています。私のモデルクラスは、できるだけデータベースのテーブルやカラムに似ています。冗長性を避けるため、データベースは正規化されています。 しかし、私は、モデルクラスの多くで特定のプロパティを利用できると便利だと気付きました。このプロパティはデータベースで使用できますが、ほとんどの場合、取得するには複数の結合を行う必要があります。 したがって、私は簡単にアクセスできるように、このプロパティをモデルクラスに追加しました。HibernateのTransientプロパティを使用
例: Object A
とObject B
との関係は、Object C
の関係にあります。 Object C
はproperty X
です。 リレーションは1対多です。 Object A
は、プライマリキーがObject B
の列であり、以下同様です。 今、Object A
がproperty X
に接続されています。私は答えを得るために複数の結合をしなければならない。 Property X
はObject A
にも当てはまりますが、冗長性のためデータベースのObject A
のプロパティとしては欲しくなりません。このアプリケーションでは、便利なアクセスのためにObject A
のクラスにこのproperty X
を追加します。
私自身の設計(サービス)クラスの代わりにHibernateを実装したいのですが、私はこのプロパティをどうするべきか分かりません。私はそれをPOJOで 'Transient'と定義しましたが、このプロパティをどのように埋めるのですか?私がHibernateにデータベースを取得させてオブジェクト(Object A
)を返すようにすれば、このプロパティは持たないでしょう。このプロパティを持つコンストラクタを追加し、Hibernateのオブジェクトをこのプロパティを含むコンストラクタに変換し、それを要求した元のメソッドに戻す必要がありますか?
これを行う正しい方法は何ですか?
これはセットですが、同じアイデアです。ありがとう:) – Century