[英]Why not Property API in hibernate has method in(Criteria subselect)?
我的旧项目中有以下代码片段
DetachedCriteria subCriteria = DetachedCriteria.forClass(Employee.class);
subCriteria.setProjection(Projections.distinct(Property.forName ("department.departmentId"))).add(Property.forName("departmentName").eq(departmentName));
Criteria criteria = getCriteria();
Property.forName("departmentId").in(subCriteria)
我的问题是,我们在Property API中有以下方法(DetachedCriteria子选择):为什么没有方法(Criteria子选择)? 我敢肯定背后应该有一些原因,但是不知何故我没有得到这个? 我之所以这样说,是因为我们应该能够将另一个条件作为子选择而不是DetachedCriteria。
编辑:-我期望如何创建subCriteria如下,因为我现在有可用的会话,因此我不需要使用DetachedCriteria
Criteria subCriteria1 =session.createCriteria(Employee.class);
subCriteria1.setProjection(Projections.distinct(Property.forName("department.departmentId"))).add(Property.forName("departmentName").eq(departmentName));
Criteria criteria = getCriteria();
Property.forName("departmentId").in(subCriteria1)
但是在这里subCriteria1是不可接受的,因为只有DetachedCriteria被期望作为方法参数。 为什么不与DetachedCriteria一起使用Criteria参数?
因为条件绑定到会话,所以没有分离。
如果子标准是与另一个会话一起创建的,应该怎么办? 应该使用哪种方言,拦截器,查询替换等?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.