在本机SQL查询中使用IN子句
发布时间:2020-05-23 14:23:53 所属栏目:MsSql 来源:互联网
导读:我们正在尝试为本机sql查询动态生成一个IN子句以返回一个JPA实体. Hibernate是我们的JPA提供商.我们的代码看起来像这样. @NamedQuery( name=fooQuery, queryString=select f from Foo f where f.status in (?1))....Query q = entityManager.cre
|
我们正在尝试为本机sql查询动态生成一个IN子句以返回一个JPA实体. Hibernate是我们的JPA提供商.我们的代码看起来像这样. @NamedQuery(
name="fooQuery",queryString="select f from Foo f where f.status in (?1)"
)
....
Query q = entityManager.createNamedQuery("fooQuery");
q.setParameter(1,"('NEW','OLD')");
return q.getResultList();
这不起作用,in子句不能识别通过这种方式传递的任何值.有没有人知道这个问题的解决方案? 解决方法在您的情况下,JPA支持命名列表参数@NamedQuery(
name="fooQuery",queryString="select f from Foo f where f.status in (?1)"
)
Query q = entityManager.createNamedQuery("fooQuery");
List<String> listParameter = new ArrayList<>();
listParameter.add("NEW");
listParameter.add("OLD");
q.setParameter(1,listParameter);
return q.getResultList(); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 一种简单的日志文件格式
- sql-server – 我应该显式DENY UPDATE到不应更新的列吗?
- MySQL 主键与索引的联系与区别分析
- 表创建时sql – IDENTITY NOT NULL
- sql-server-2005 – 在SQL Server 2005中向存储过程添加参数
- sql – 在具有不同扇区大小的HDD上备份数据库
- SQLServer2005重建索引前后对比分析
- sql – SELECT CONVERT(VARCHAR(10),GETDATE(),110)110这里
- sql – Oracle Performance IN或OR
- 数据库 – HBase如何保证行级原子性?
