1.使用子查询避免使用in 

 

DetachedCriteria tedc = DetachedCriteria.forClass(TagEntity.class,"pte");

tedc.createAlias("tag", "tag");
tedc.add(Restrictions.eq("tag.name", tagName));
tedc.add(Restrictions.eqProperty("pte.entityId", "pc.id"));
tedc.setProjection(org.hibernate.criterion.Property.forName("pte.entityId").count());
dc.add(Subqueries.lt(0, tedc));