我有下一个问题。
我有下一个标准:
criteria.add(Restrictions.in("entity.otherEntity", getOtherEntitiesList()));
如果我的otherEntitiesList为空。 Hibernate生成下一个查询:
select count(*) as y0_
from OTHER_ENTITY this_
where this_.OTHER_ENTITY_ID in ( )
我从Oracle获得例外。
我在Hibernate代码中找到了下一行:
String params = values.length > 0 ? StringHelper.repeat(
singleValueParam + ", ", values.length - 1 )
+ singleValueParam : "";
使用此方法生成条件是不可能的。 我需要一种方法来生成带有空列表的Hibernate标准。如果列表为空,我想得到空答案。
有可能吗?
由于
答案 0 :(得分:2)
为什么不首先检查列表大小然后创建限制(如果大小为> 0
):
if (getOtherEntitiesList() != null && getOtherEntitiesList().size() > 0) {
criteria.add(Restrictions.in("entity.otherEntity", getOtherEntitiesList()));
}