如果列表中为空,则 中的休眠限制会导致错误
如果我的列表为空,我会收到以下错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')'
以下是我的休眠相关方法:
@Override
public List<SomeThing> findByIds(List<Integer> someIds) {
return sessionFactory.getCurrentSession().createCriteria(SomeClass.class)
.add(Restrictions.in("id", someIds))
.list();
}
我应该怎么做才能防止此错误?
我知道我可以缩短呼叫并返回一个空列表,例如:
if(someIds == null || someIds.size() == 0) {
return new List<SomeThing>();
}
但是有没有更优雅的方法来做到这一点呢?