アソシエーション上でQBEを使用できないことは非常に不快です。アソシエーションの例による照会
私は約8個の多対1の列で大きなデータテーブルを持っています。テーブルをフィルタリングするためのすべての列のドロップダウンリストがあります。
のは、次のことを想定してみましょう:
テーブルユーザー
User { id, UserStatus, UserAuthorization }
私はこのコードを使用する:
User id=1 { UserStatus=Active, UserAuthorization=Admin }
:
Criteria crit = getSession().createCriteria(class);
crit.add(Example.create(userObject));
これは、次の例userObject
上では動作しません。
QBEはコレクションをサポートしていないためです。
これを解決する1つの方法は、このようにそれを使用することです。
crit.createCriteria("UserStatus").add(Example.create(userStatusObject));
crit.createCriteria("UserAuthorization").add(Example.create(userAuthorizationObject));
私の質問は、これは単に与えられたUser
オブジェクトを動的にプログラムすることができる方法です。 QBEを使用するよりも別の方法がありますか?
.add(Restriction.eq())? – Firo
私はそれを避けようとしています... QBEの背後にある全体のポイントは、手で何もしないことです。 – rotsch
私はちょうど「QBEを使用するよりも別の方法がありますか? :D – Firo