相关疑难解决方法(0)

将空列表作为参数传递给JPA查询会引发错误

如果我将空列表传递给JPA查询,我会收到错误.例如:

List<Municipality> municipalities = myDao.findAll();  // returns empty list
em.createQuery("SELECT p FROM Profile p JOIN p.municipality m WHERE m IN (:municipalities)")
    .setParameter("municipalities", municipalities)
    .getResultList();
Run Code Online (Sandbox Code Playgroud)

因为列表是空的,所以Hibernate在SQL中将其生成为"IN()",这使我在Hypersonic数据库中出错.

Hibernate问题跟踪中有一个这样的票,但那里没有很多评论/活动.我不知道其他ORM产品或JPA规范中的支持.

我不喜欢每次都必须手动检查空对象和空列表的想法.是否有一些众所周知的方法/扩展?你如何处理这些情况?

java persistence hibernate jpa list

28
推荐指数
4
解决办法
3万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

list ×1

persistence ×1