当前位置: 代码迷 >> J2EE >> hibernate 排除查询的有关问题,就是对象和对象出现多对多的关系时
  详细解决方案

hibernate 排除查询的有关问题,就是对象和对象出现多对多的关系时

热度:189   发布时间:2016-04-22 03:13:05.0
hibernate 排除查询的问题,就是对象和对象出现多对多的关系时
类名:ProBaseInfo 商品信息表
下面很多商品的属性
然后就是多对多的关系对应了
private Set sellNodeProStores = new HashSet(0); 就会出现这个

然后我筛选查询的时候需要sellNodeProStores这个对象


Criteria criter = session.createCriteria(ProBaseInfo.class).add(Expression.ne("sellNodeProStore", getSellNodeProStores()));

但是发现这样写不行,criteria是根据属性来筛选查询的
但是我也需要通过sellNodeProStores 来筛选,来该怎么写?

------解决方案--------------------
Java code
DetachedCriteria subquery = DetachedCriteria.forClass(Order.class, "o"); //创建一个子查询subquery.add(Restrictions.between("createTime", DateUtils.addDays(createDate, 1), DateUtils.addDays(createDate, 2))).setProjection(                Property.forName("o.cenacle.id")); //为子查询添加条件return createCriteria(Subqueries.propertyNotIn("id", subquery)).list(); //在查询中加入子查询
  相关解决方案