fieldName.subFieldName
の行に沿った構文を使用して、Hibernateエンティティオブジェクト内のフィールド内のフィールドにアクセスする方法はありますか?Hibernateのサブフィールドにアクセスする方法はありますか?
criteria.createCriteria("fieldName")
を使用してこれを行うことができるとわかりましたが、追加の制限やサブフィールドに何かを追加することはできますが、これを達成するためのより簡単な方法があるのだろうかと思いました。
fieldName.subFieldName
の行に沿った構文を使用して、Hibernateエンティティオブジェクト内のフィールド内のフィールドにアクセスする方法はありますか?Hibernateのサブフィールドにアクセスする方法はありますか?
criteria.createCriteria("fieldName")
を使用してこれを行うことができるとわかりましたが、追加の制限やサブフィールドに何かを追加することはできますが、これを達成するためのより簡単な方法があるのだろうかと思いました。
エイリアスを使用します。 documentationから
、
特定の状況で有用である別の形式もあります:あなたはHQLに
List cats = sess.createCriteria(Cat.class) .createAlias("kittens", "kt") .createAlias("mate", "mt") .add(Restrictions.eqProperty("kt.name", "mt.name")) .list();
ああ、別のフィールドでフィールドにアクセスするためにエイリアスを作成する必要がありますか?不思議なことに、完全なフィールド名を使用せずに行うことができます。 –
を意味していますか?あなたが照会しているオブジェクトとフィールドとの関係は何ですか?あなたは1対1の関係や1対多の資産を探していますか? – JustinKSU
HQLではなく、Criteriaクラスを意味します。これは、1対1の関係になります。 –