2011-07-14 18 views
1

fieldName.subFieldNameの行に沿った構文を使用して、Hibernateエンティティオブジェクト内のフィールド内のフィールドにアクセスする方法はありますか?Hibernateのサブフィールドにアクセスする方法はありますか?

criteria.createCriteria("fieldName")を使用してこれを行うことができるとわかりましたが、追加の制限やサブフィールドに何かを追加することはできますが、これを達成するためのより簡単な方法があるのだろうかと思いました。

+0

を意味していますか?あなたが照会しているオブジェクトとフィールドとの関係は何ですか?あなたは1対1の関係や1対多の資産を探していますか? – JustinKSU

+0

HQLではなく、Criteriaクラスを意味します。これは、1対1の関係になります。 –

答えて

1

エイリアスを使用します。 documentationから

特定の状況で有用である別の形式もあります:あなたはHQLに

List cats = sess.createCriteria(Cat.class) 
    .createAlias("kittens", "kt") 
    .createAlias("mate", "mt") 
    .add(Restrictions.eqProperty("kt.name", "mt.name")) 
    .list(); 
+0

ああ、別のフィールドでフィールドにアクセスするためにエイリアスを作成する必要がありますか?不思議なことに、完全なフィールド名を使用せずに行うことができます。 –

関連する問題