我对条件查询有疑问。
在另一种方法中,我使用 HQL 查询来删除数据库中的一些对象。查询有效。
实际上,在另一种方法中,我执行获取对象的条件查询。当我获取对象时,它们不会同步到数据库。
那么 1. 如何在 roder 中同步此条件查询以获取 REAL 对象?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();
谢谢!