0
私は次の機能を提供CriteriaQueryを構築しよう:基準アピ:オーダー/暗黙の関連テーブルによって選択
table_a:
id, name_a
私は以下のフィールドを持つ3つのテーブルを持っています
table_b:
id, name_b
table_ab:
ここで、table_aのすべての要素を、table_bの対応する要素のname_bフィールドの順序で取得したいとします。
結果は、JpaRepositoryで使用するための仕様でなければなりません。私の意見で
Specification<TableA> specification = (root, query, cb) -> {
CriteriaQuery<TableAb> abQuery = cb.createQuery(TableAb.class);
CriteriaQuery<TableB> bQuery = cb.createQuery(TableB.class);
Root<TableAb> abRoot = abQuery.from(TableAb.class);
Join<TableAb, TableA> aJoin = abRoot.join("tableA");
Join<TableAb, TableB> bJoin = abRoot.join("tableB");
//combine joins
query.orderBy(cb.asc(/* Expression to order by */));
return cb.conjunction();
};
を主な問題はtable_bへtable_aからの「パス」がないということですが、私は明示的にしたくない:参加するどのように組み合わせるか、私がジョイン使ってみましたが、私はポイントで立ち往生table_a〜table_bの内部に参照があります。