2011-01-27 6 views
1

おはようございます!Hibernate noob - 部分オブジェクトを取得

私は次のクラスを持ち、時には唯一のタイトルとサブタイトルの要素を取得する必要があります。

public class Article implements Serializable { 

    private static final long serialVersionUID; 
    private int id; 
    private String title; 
    private String subTitle; 
    private String body; 
    .... 
} 

これを容易にするための最良の方法は何ですか?私はtitleとsubTitleをスタンドアローンのオブジェクトにすることを考えましたが、私は正直なところ私が何をしているのか分かりません。

私は記事全体の構成を変更するという贅沢を持っていますが、まず尋ねるのは、現時点では私にとって最も賢明なことです。

ありがとうございます。

+0

具体的な理由はありますか?なぜHibernateが余分なフィールドをロードするかは重要ですか?あなたはそれらを使用する必要はありません。 – brainimus

+0

...すべての正直なところ、私はほんの少しのビットが必要なときは、すべてを読み込むのが直感的ではないようです。実用的に言えば、私はすべてをロードすることができましたが、少なくとも理論的にはパフォーマンスとスケールを考えています。 – vector

+3

これらのフィールドを返さないことは、パフォーマンスに影響を与えません。 0.001秒のクエリを0.000000000001秒早く実行させないように、アプリケーションの機能について心配してください。 – Phill

答えて

1

あなたはLAZYを持つすべての単純なプロパティ注釈を付けることができます - >ちょうどこの@Basicような(フェッチ= FetchType.LAZY)だから、

を、あなたがこの目的を表示するために提供

+0

それはまだJavaのバージョンですが、コンセプトはそのまま適用されます(マッピングで 'lazy =" true "') –

1

が必要な場合にのみロードされますResultTransformerを使用することもできます。

同様の問題を扱い、検索されたプロパティを制限するSO answerを参照してください。

1

私はあなたが望む情報を保持する特定のクラスを作成し、それをあなたのマッピングにインポートすることでこれを解決できると思います。マニュアルの5.1.19.importを参照してください。私はあなたがこのように、あなたのHQLにインポートクラスを使用することができると信じて:http://gustavoringel.blogspot.com/2009/02/creating-dto-in-nhibernate-hql-using.html

"select new Titles(a.title, a.subTitle) from Article a where a.id = :id" 

ここで私はこのテーマで見つかったブログ記事です。

幸運を祈る!

関連する問題