我有一个名为角色的表。每个角色可能属于一个组织。不属于组织的角色的值为 null。我想查找特定组织的所有角色或该组织在表中为空的位置。
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Role.class)
.add(Restrictions.or(
Restrictions.eq("organization",organization.getId()),
Restrictions.isNull("organization")));
映射文件有:
<many-to-one class="com.myname.models.Organization" name="organization">
<column name="organization_id" precision="22" scale="0" />
</many-to-one>
当查询运行时,我得到:
IllegalArgumentException occurred calling getter com.myname.models.Organization.id
我发现如果我修改标准以仅在组织上查询空值,一切正常,但是一旦我查询一个值,我就会得到错误。
如何修改查询或映射文件以满足我的目标?