【发布时间】:2012-05-06 14:06:32
【问题描述】:
我们可以在哪些条件下添加限制?
对于 HQL-1#
select activity from EmployeeActivity activity
join activity.activityStep as step
where
activity.currentStep = 1;
Criteria ctr = getSession().createCriteria(EmployeeActivity.class)
.createCriteria("activityStep")//Where activityStep is the another entity which is joined
.add(Restrictions.eq("currentStep", 1))
但是我应该如何编写下面的 HQL 查询?还有,最佳做法是什么。
select activity from EmployeeActivity activity
join activity.activityStep as step
where
activity.currentStep = step.stepNumber;
【问题讨论】:
-
activityStep是参考还是集合?为什么 currentStep 是一个数字而不是对 Step 的引用? -
activityStep 只是对另一个表的引用,这就是使用简单连接的原因。上面的查询使用 EMPLOYEE_ACTIVITY_ID 对两个表 EmployeeActivity 和 ActivityStep 进行了简单的连接。
标签: hibernate hql hibernate-mapping hibernate-criteria