org.hibernate.query.Query.setParameterList()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(328)

本文整理了Java中org.hibernate.query.Query.setParameterList方法的一些代码示例,展示了Query.setParameterList的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.setParameterList方法的具体详情如下:
包路径:org.hibernate.query.Query
类名称:Query
方法名:setParameterList

Query.setParameterList介绍

[英]Bind multiple values to a named query parameter. This is useful for binding a list of values to an expression such as foo.bar in (:value_list).
[中]将多个值绑定到命名查询参数。这对于将值列表绑定到表达式(如foo)非常有用。输入条(:值_列表)。

代码示例

代码示例来源:origin: hibernate/hibernate-orm

  1. @SuppressWarnings("unchecked")
  2. private List<DestinationEntity> findDestinationByIds(List<Integer> ids) {
  3. Session session = openSession();
  4. List<DestinationEntity> list = session
  5. .createQuery( "from DestinationEntity de where de.id in (:ids) order by id" )
  6. .setParameterList( "ids", ids ).list();
  7. session.close();
  8. return list;
  9. }

代码示例来源:origin: hibernate/hibernate-orm

  1. @Test
  2. public void testReusingQueryWithNewParameterValues() throws Exception {
  3. try (Session session = openSession()) {
  4. Collection<Long> ids = new ArrayList<>();
  5. Query q = session.createQuery( "select id from Person where id in (:ids) order by id" );
  6. for ( int i = 0; i < 10; i++ ) {
  7. ids.add( Long.valueOf( i ) );
  8. }
  9. q.setParameterList( "ids", ids );
  10. q.list();
  11. ids.clear();
  12. for ( int i = 10; i < 20; i++ ) {
  13. ids.add( Long.valueOf( i ) );
  14. }
  15. // reuse the same query, but set new collection parameter
  16. q.setParameterList( "ids", ids );
  17. List<Long> foundIds = q.list();
  18. assertThat( "Wrong number of results", foundIds.size(), is( ids.size() ) );
  19. assertThat( foundIds, is( ids ) );
  20. }
  21. }

代码示例来源:origin: hibernate/hibernate-orm

  1. @Test
  2. public void testNamedQuery() {
  3. Session s = openSession();
  4. Transaction t = s.beginTransaction();
  5. s.getNamedQuery("userNameIn")
  6. .setParameterList( "nameList", new Object[] {"1ovthafew", "turin", "xam"} )
  7. .list();
  8. t.commit();
  9. s.close();
  10. }

代码示例来源:origin: hibernate/hibernate-orm

  1. @Test
  2. public void testMapKeyExpressionInWhere() {
  3. doInHibernate( this::sessionFactory, s -> {
  4. // JPA form
  5. Query query = s.createQuery( "select te from TestEntity te join te.values v where ?1 in (key(v)) " );
  6. query.setParameter( 1, keyValue );
  7. assertThat( query.list().size(), is( 1 ) );
  8. // Hibernate additional form
  9. query = s.createQuery( "select te from TestEntity te where ?1 in (key(te.values))" );
  10. query.setParameter( 1, keyValue );
  11. assertThat( query.list().size(), is( 1 ) );
  12. // Test key property dereference
  13. query = s.createQuery( "select te from TestEntity te join te.values v where key(v).name in :names" );
  14. query.setParameterList( "names", Arrays.asList( keyValue.name ) );
  15. assertThat( query.list().size(), is( 1 ) );
  16. } );
  17. }

代码示例来源:origin: hibernate/hibernate-orm

  1. params.add( "Public" );
  2. s.createQuery( "from Human where name.last in (?1)" )
  3. .setParameterList( 1, params )
  4. .list();
  5. .setParameterList( 1, params )
  6. .list();
  7. .setParameter( 1, "Yogster" )
  8. .setParameter( 2, "Yogi" )
  9. .setParameterList( 3, params )
  10. .list();
  11. .setParameter( 1, "Yogster" )
  12. .setParameter( 2, "Yogi" )
  13. .setParameterList( 3, params )
  14. .list();
  15. .setParameter( 1, "Yogster" )
  16. .setParameter( 2, "Yogi" )
  17. .setParameterList( 3, params )
  18. .list();
  19. .setParameter( 1, "Yogster" )
  20. .setParameter( 2, "Yogi" )
  21. .setParameterList( 3, params )
  22. .list();

代码示例来源:origin: hibernate/hibernate-orm

  1. @Test
  2. @TestForIssue(jiraKey = "HHH-10577")
  3. public void testMapValueExpressionInWhere() {
  4. doInHibernate( this::sessionFactory, s -> {
  5. // JPA form
  6. try {
  7. Query query = s.createQuery( "select te from TestEntity te join te.values v where ? in (value(v))" );
  8. query.setParameter( 0, new EmbeddableValue( 3 ) );
  9. assertThat( query.list().size(), is( 2 ) );
  10. fail( "HibernateException expected - Could not determine type for EmbeddableValue" );
  11. }
  12. catch ( Exception e ) {
  13. assertTyping( IllegalArgumentException.class, e );
  14. }
  15. // Hibernate additional form
  16. try {
  17. Query query = s.createQuery( "select te from TestEntity te where ? in (value(te.values))" );
  18. query.setParameter( 0, new EmbeddableValue( 3 ) );
  19. assertThat( query.list().size(), is( 2 ) );
  20. fail( "HibernateException expected - Could not determine type for EmbeddableValue" );
  21. }
  22. catch ( Exception e ) {
  23. assertTyping( IllegalArgumentException.class, e );
  24. }
  25. // Test value property dereference
  26. Query query = s.createQuery( "select te from TestEntity te join te.values v where value(v).value in :values" );
  27. query.setParameterList( "values", Arrays.asList( 3 ) );
  28. assertThat( query.list().size(), is( 2 ) );
  29. } );
  30. }

代码示例来源:origin: hibernate/hibernate-orm

  1. .setParameterList( 1, namesArray )
  2. .setParameterList( 2, citiesArray )
  3. .list();

代码示例来源:origin: hibernate/hibernate-orm

  1. .setParameterList( "employeegroupIds", parameters ).list();

代码示例来源:origin: hibernate/hibernate-orm

  1. assertEquals( s.createQuery("from Person p where p.class = Person").list().size(), 1 );
  2. assertEquals( s.createQuery("from Person p where type(p) in :who").setParameter("who", Customer.class).list().size(), 1 );
  3. assertEquals( s.createQuery("from Person p where type(p) in :who").setParameterList("who", new Class[] {Customer.class, Person.class}).list().size(), 2 );
  4. s.clear();

代码示例来源:origin: hibernate/hibernate-orm

  1. assertEquals( s.createQuery("from Person p where p.class = Person").list().size(), 1 );
  2. assertEquals( s.createQuery("from Person p where type(p) in :who").setParameter("who", Customer.class).list().size(), 1 );
  3. assertEquals( s.createQuery("from Person p where type(p) in :who").setParameterList("who", new Class[] {Customer.class, Person.class}).list().size(), 2 );
  4. s.clear();

代码示例来源:origin: hibernate/hibernate-orm

  1. assertEquals( s.createQuery("from Being b where b.class = Alien").list().size(), 1 );
  2. assertEquals( s.createQuery("from Being b where type(b) = :what").setParameter("what", Alien.class).list().size(), 1 );
  3. assertEquals( s.createQuery("from Being b where type(b) in :what").setParameterList("what", new Class[] { Alien.class, Human.class }).list().size(), 2 );
  4. assertEquals( s.createQuery("from Alien").list().size(), 1 );
  5. s.clear();

代码示例来源:origin: hibernate/hibernate-orm

  1. ).setParameterList(
  2. "groups",
  3. new Long[] { group1.getId(), group2.getId() }

代码示例来源:origin: sanluan/PublicCMS

  1. public Query<?> getQuery(Session session, String sql) {
  2. Query<?> query = session.createQuery(sql);
  3. if (null != map) {
  4. for (String key : map.keySet()) {
  5. query.setParameter(key, map.get(key));
  6. }
  7. }
  8. if (null != arrayMap) {
  9. for (String key : arrayMap.keySet()) {
  10. query.setParameterList(key, arrayMap.get(key));
  11. }
  12. }
  13. if (null != firstResult) {
  14. query.setFirstResult(firstResult);
  15. }
  16. if (null != maxResults) {
  17. query.setMaxResults(maxResults);
  18. }
  19. if (null != cacheable) {
  20. query.setCacheable(cacheable);
  21. } else {
  22. query.setCacheable(true);
  23. }
  24. return query;
  25. }

代码示例来源:origin: sanluan/PublicCMS

  1. public Query<?> getQuery(Session session, String sql) {
  2. Query<?> query = session.createQuery(sql);
  3. if (null != map) {
  4. for (String key : map.keySet()) {
  5. query.setParameter(key, map.get(key));
  6. }
  7. }
  8. if (null != arrayMap) {
  9. for (String key : arrayMap.keySet()) {
  10. query.setParameterList(key, arrayMap.get(key));
  11. }
  12. }
  13. if (null != firstResult) {
  14. query.setFirstResult(firstResult);
  15. }
  16. if (null != maxResults) {
  17. query.setMaxResults(maxResults);
  18. }
  19. if (null != cacheable) {
  20. query.setCacheable(cacheable);
  21. } else {
  22. query.setCacheable(true);
  23. }
  24. return query;
  25. }

代码示例来源:origin: com.atlassian.hibernate/hibernate.adapter

  1. @Override
  2. public Query setParameterList(final String name, final Collection vals) throws HibernateException {
  3. try {
  4. if (queryV2ForCompare != null) {
  5. queryV2ForCompare.setParameterList(name, vals);
  6. }
  7. query.setParameterList(name, vals);
  8. } catch (final PersistenceException ex) {
  9. throw HibernateExceptionAdapter.adapt(ex);
  10. }
  11. return this;
  12. }

代码示例来源:origin: com.atlassian.hibernate/hibernate.adapter

  1. @Override
  2. public Query setParameterList(final String name, final Object[] vals) throws HibernateException {
  3. try {
  4. if (queryV2ForCompare != null) {
  5. queryV2ForCompare.setParameterList(name, vals);
  6. }
  7. query.setParameterList(name, vals);
  8. } catch (final PersistenceException ex) {
  9. throw HibernateExceptionAdapter.adapt(ex);
  10. }
  11. return this;
  12. }

代码示例来源:origin: com.atlassian.hibernate/hibernate.adapter

  1. @Override
  2. public Query setParameterList(final String name, final Collection vals, final Type type) throws HibernateException {
  3. try {
  4. if (queryV2ForCompare != null) {
  5. queryV2ForCompare.setParameterList(name, vals, type);
  6. }
  7. query.setParameterList(name, vals, TypeV5Adapter.adapt(session.getSessionFactory(), type));
  8. } catch (final PersistenceException ex) {
  9. throw HibernateExceptionAdapter.adapt(ex);
  10. }
  11. return this;
  12. }

代码示例来源:origin: hibernate/hibernate-ogm

  1. @Test
  2. @TestForIssue(jiraKey = "OGM-581")
  3. public void testParameterList() throws Exception {
  4. List<String> paramList = Arrays.asList( "Lama", "Puma" );
  5. List<?> result = session.createQuery( "from Helicopter h where h.name IN (:names)" ).setParameterList( "names", paramList ).list();
  6. assertThat( result ).onProperty( "name" ).containsOnly( "Lama" );
  7. }

代码示例来源:origin: hibernate/hibernate-ogm

  1. @Test
  2. @TestForIssue(jiraKey = "OGM-581")
  3. public void testParameterListWithLongList() throws Exception {
  4. List<Long> paramList = Arrays.asList( 1L, 2L, 4L );
  5. List<?> result = session.createQuery( "from Author a where a.id IN (:ids)" ).setParameterList( "ids", paramList ).list();
  6. assertThat( result ).onProperty( "id" ).containsOnly( 1L, 2L );
  7. }

代码示例来源:origin: hibernate/hibernate-ogm

  1. @Test
  2. @TestForIssue(jiraKey = "OGM-581")
  3. public void testParameterListWithLongArray() throws Exception {
  4. Long[] paramArray = new Long[] { 1L, 2L, 4L };
  5. List<?> result = session.createQuery( "from Author a where a.id IN (:ids)" ).setParameterList( "ids", paramArray ).list();
  6. assertThat( result ).onProperty( "id" ).containsOnly( 1L, 2L );
  7. }

相关文章