繁体   English   中英

通过查询参数值列表

[英]Pass list of values on query parameter

String hql = "select * from myTable where isActive IN (:isActive)";
        Query query = session.createQuery(hql);
        query.setString("school","");
        query.setString("isActive", "Y");//working
        query.setString("isActive", "N");//working
        query.setString("isActive", "Y","N"); // not working
        query.setString("isActive", "'Y','N'"); // not working
        return query.list();

我不知道下面的代码是否应该工作,我想知道是否可以将值列表传递给我的搜索字符串参数,因此不需要我创建查询; 一个用于选择所有数据而与状态无关,另一个用于仅选择活动数据。

使用Query.setParameterList()List作为参数传递:

String hql = "select * from myTable where isActive IN (:isActive)";
Query query = session.createQuery(hql);
List<String> isActiveList = new ArrayList<>();
isActiveList.add("Y");
isActiveList.add("N");
query.setParameterList("isActive", isActiveList);
return query.list();

如何传递 Map 或 List<object> 作为 JPA 查询的参数<div id="text_translate"><p>我需要将 map 作为 <Sting,String> 或 List 类型的输入参数传递到两个 JPA 列中,并将结果作为映射/列表中所有条目的记录列表。</p><p> 是这样的:</p><pre> @Query( value = "SELECT e from #{#entityName} e where e.name = KEY(someMap) and e.relationName = VALUE(someMap)") List<Member> findByNameAndRelationNameIn( @Param("someMap") Map<String, String> someMap);</pre><p> 或者</p><pre>@Query( value = "SELECT e from #{#entityName} e where e.name IN (:#{#dataSpaceMembers.?[name]}) and e.dataSpaceName IN (:#{#dataSpaceMembers.?[dataSpaceName]})") List<DataSpaceMember> findByNameAndDataSpaceIn( @Param("dataSpaceMembers") List<DataSpaceMember> dataSpaceMembers);</pre><p> 但是应用程序不会运行,因为这不是有效的 jpa 查询。 我不想在循环中运行单个查询,而是寻找一个可以将结果作为列表给出的查询。</p></div></object>

[英]how to pass Map or List<Object> as a parameter to JPA query

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 {} 在 JPA 查询中传递列表参数 无法在 RestAssured 中传递查询参数,因此无法返回 NULL 值 如何传递 Map 或 List<object> 作为 JPA 查询的参数<div id="text_translate"><p>我需要将 map 作为 <Sting,String> 或 List 类型的输入参数传递到两个 JPA 列中,并将结果作为映射/列表中所有条目的记录列表。</p><p> 是这样的:</p><pre> @Query( value = "SELECT e from #{#entityName} e where e.name = KEY(someMap) and e.relationName = VALUE(someMap)") List<Member> findByNameAndRelationNameIn( @Param("someMap") Map<String, String> someMap);</pre><p> 或者</p><pre>@Query( value = "SELECT e from #{#entityName} e where e.name IN (:#{#dataSpaceMembers.?[name]}) and e.dataSpaceName IN (:#{#dataSpaceMembers.?[dataSpaceName]})") List<DataSpaceMember> findByNameAndDataSpaceIn( @Param("dataSpaceMembers") List<DataSpaceMember> dataSpaceMembers);</pre><p> 但是应用程序不会运行,因为这不是有效的 jpa 查询。 我不想在循环中运行单个查询,而是寻找一个可以将结果作为列表给出的查询。</p></div></object> C:for:如果将参数传递给List方法,则每个都不获取值 如何在jpa查询上传递参数? LinkedIn-如何传递查询参数 JPQL 查询列表中的参数 发送值列表作为参数 如何将Class列表作为参数传递? 如何将字符串列表作为参数传递给 JPA 本机查询并在 Postgresql ARRAY []
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM