【发布时间】:2018-04-30 06:22:48
【问题描述】:
在Hibernate 5之前弃用了条件类,您可以将限制添加到标准中,以充当约束,并作为SELECT语句充当的预测,如
Criteria criteria = session.createCriteria(T.class)
.add(Restrictions.or(Restrictions.eq(property, constraintValue)
.set(Projection(Projections.projectionList()
.add(Projections.property(selectValue)));
但是,既然您现在需要像这样使用 CriteriaQuery,
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
CriteriaQuery<T> criteriaQuery = criteriaBuilder.createQuery(T.class);
Root<T> root = criteriaQuery.from(T.class);
criteriaQuery.select(root);
Query<T> query = session.createQuery(criteriaQuery);
但是我一直无法弄清楚如何在 SQL 语句中添加某些需要的东西,主要是因为由于命名相似,搜索文档往往会找到有关 Criteria 的文档。
那么,如何使用 CriteriaQuery 重新创建一个简单的查询,如下所示?
SELECT selectValue
FROM tables.T
WHERE property = constraintValue
【问题讨论】:
标签: java hibernate hibernate-criteria