Hibernate将Criterion注入Query

时间:2014-11-06 09:34:27

标签: java hibernate java-ee

我有一个Hibernate限制的代码,如:

Criterion budgetTypeRestriction;
budgetTypeRestriction = Restrictions.between("code", "01", "03");

我如何将Criterion注入Query?:

Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("from Regions");

我很容易收集Criterion逻辑,然后将其传递给DAO,它实现了throw Query和参数绑定。

3 个答案:

答案 0 :(得分:0)

在查询(HQL)中,您不使用Criterion。

而是在where子句中使用类似于SQL的HQL表达式:

Query query = session.createQuery("from Regions r where r.code between '01 and '03'");

答案 1 :(得分:0)

我希望你期待以下

List<Regions> regionsList=sessionfactory.getCurrentSession().createCriteria(Regions.class)
                          .add(Restrictions.between("code", "01", "03")).list();

答案 2 :(得分:0)

您可能希望使用Criteria API而不是查询。如果需要,可以使用Restrictions.sqlRestriction()将sql限制添加到条件中。