Criteriaクエリに問題があります。
他の方法では、データベース内のいくつかのオブジェクトを削除するためにHQLクエリを使用します。クエリは機能します。
別の方法では、実際には、オブジェクトを取得するCriteriaクエリを実行します。オブジェクトを取得すると、データベースに同期されません。
それで1.REALオブジェクトを取得するために、roderでこの基準クエリをどのように同期しましたか?2. 1.が不可能な場合、CriteriaクエリをHQLに変換したい
ここに私の基準クエリ:
final Criteria crit = session.createCriteria(ObjectDao.class);
if (clientName != null && clientName.length() > 0) {
crit.createAlias("objectType.client", "client");
crit.add(Restrictions.eq("client.name", clientName));
}
if (objectType != null && objectType.length() > 0) {
crit.createAlias("objectType", "objectType");
crit.add(Restrictions.eq("objectType.type", objectType));
}
final List<ObjectDao> ret = crit.list();
そして、HQl変換されたクエリは機能しません
String hqlQuery = "select ObjectDao where objectType.client.name = :clientName";
Query query = session.createQuery(hqlQuery)
// .setParameter("objectList", objectType)
.setParameter("clientName", clientName);
final List<ObjectDao> ret2 = query.list();
ありがとう!