use*_*944 1 nhibernate hibernate criteria hibernate-criteria
我有一张Dept桌子和一张Emp桌子.
我需要以这样的方式加入这两个表:where子句看起来像这样:
where dept.deptId = emp.DeptId and dept.deptName = emp.empTrainingName
Run Code Online (Sandbox Code Playgroud)
我试过这个:
Criteria criteria = session.createCriteria(Dept.class).createAlias("empMap","id");
Run Code Online (Sandbox Code Playgroud)
使用它,第一个条件即dept.deptId = emp.DeptId执行.但我不知道如何比较dept.deptName有emp.empTrainingName.
如何使用NHibernate中的Criteria API执行此操作?
Criteria criteria = session.createCriteria(Dept.class, "department")
.createAlias("empMap", "employee")
.add(Restrictions.eqProperty("department.deptName",
"employee.empTrainingName"));
Run Code Online (Sandbox Code Playgroud)
您也可以使用with子句,这在左连接时是必需的:
Criteria criteria =
session.createCriteria(Dept.class, "department")
.createAlias("empMap",
"employee",
Criteria.LEFT_JOIN,
Restrictions.eqProperty("department.deptName",
"employee.empTrainingName"));
Run Code Online (Sandbox Code Playgroud)
旁注:你的名字选择很糟糕.而不是Dept.deptId,为什么不使用Department.id?而不是Emp.empTrainingName,为什么不选择Employee.trainingName?
| 归档时间: |
|
| 查看次数: |
4993 次 |
| 最近记录: |