我有两个代表Class1
和Class2
的表格,共有一列sharedUuid
。我想检索Class1
的所有条目,其sharedUuid
列不等于Class2
中的任何条目。因此,如果例如sharedUuid
是一个国家/地区,class1
包含的条目包含'西班牙','美国'和'法国'和Class2
'美国'和'法国'然后我应该只检索西班牙。任何人都可以告诉我我做错了什么因为我得到了所有这些。感谢。
DetachedCriteria criteriaUuid = DetachedCriteria.forClass(Class2.class);
criteriaUuid.setProjection(Property.forName("sharedUuid"));
DetachedCriteria criteria = DetachedCriteria.forClass(Class1.class);
criteria.add(Restrictions.not(Property.forName("sharedUuid").in(criteriaUuid)));
return hibernateTemplate.findByCriteria(criteria);