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

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

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

Query.setParameterList介绍

[英]Bind multiple values to a named query parameter. The Hibernate type of the parameter is first detected via the usage/position in the query and if not sufficient secondly guessed from the class of the first object in the collection. This is useful for binding a list of values to an expression such as foo.bar in (:value_list).
[中]将多个值绑定到命名查询参数。参数的Hibernate类型首先通过查询中的用法/位置进行检测,如果不够,则从集合中第一个对象的类中进行二次猜测。这对于将值列表绑定到表达式(如foo)非常有用。输入条(:值_列表)。

代码示例

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

  1. @Test
  2. @RequiresDialectFeature(
  3. value = DialectChecks.SupportsEmptyInListCheck.class,
  4. comment = "Dialect does not support SQL empty in list [x in ()]"
  5. )
  6. public void testEmptyInListQuery() {
  7. Session s = openSession();
  8. s.beginTransaction();
  9. Query q = s.createQuery( "select bar from Bar as bar where bar.name in (:nameList)" );
  10. q.setParameterList( "nameList", Collections.EMPTY_LIST );
  11. assertEquals( 0, q.list().size() );
  12. s.getTransaction().commit();
  13. s.close();
  14. }

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

  1. @Test
  2. public void testMultipleSelect() {
  3. final String name = "Name";
  4. final String lastName = "LastName";
  5. final List<Integer> ids = new ArrayList<Integer>();
  6. final int quantity = 10;
  7. final List<DestinationEntity> destinations = new ArrayList<DestinationEntity>();
  8. for ( int i = 0; i < quantity; i++ ) {
  9. DestinationEntity createDestination = createDestination( createFrom( name + i, lastName + i ), name + i
  10. + lastName + i );
  11. ids.add( createDestination.id );
  12. destinations.add( createDestination );
  13. }
  14. Session session = openSession();
  15. Query select = session.getNamedQuery( "DestinationEntity.selectIds" );
  16. select.setParameterList( "ids", ids );
  17. List list = select.list();
  18. session.close();
  19. assertEquals( quantity, list.size() );
  20. for ( int i = 0; i < list.size(); i++ ) {
  21. Object[] object = (Object[]) list.get( i );
  22. DestinationEntity destination = destinations.get( i );
  23. // Compare the Strings, not the actual IDs. Can come back as, for ex,
  24. // a BigDecimal in Oracle.
  25. assertEquals( destination.id + "", object[0] + "" );
  26. assertEquals( destination.from.id + "", object[1] + "" );
  27. assertEquals( destination.fullNameFrom, object[2] );
  28. }
  29. }

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

  1. list.add( new Id( "123456789", order.getId().getOrderNumber(), "4321" ) );
  2. list.add( new Id( "123456789", order.getId().getOrderNumber(), "1234" ) );
  3. query.setParameterList( "idList", list );
  4. assertEquals( 2, query.list().size() );
  5. query.setParameterList( "idList", list );
  6. assertEquals( 2, query.list().size() );

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

  1. list = q.list();
  2. if ( !(getDialect() instanceof SAPDBDialect) ) assertTrue( list.size()==2 );
  3. nameList.add( "Bar" );
  4. nameList.add( "Bar Two" );
  5. q.setParameterList( "nameList", nameList );
  6. q.setParameter( "stringVal", "a string" );
  7. list = q.list();
  8. if ( !(getDialect() instanceof SAPDBDialect) ) assertTrue( list.size()==2 );
  9. q.setParameterList("nameList", (Collection)null);
  10. fail("Should throw a QueryException when passing a null!");
  11. q = s.createQuery("select bar, b from Bar bar left join bar.baz baz left join baz.cascadingBars b where bar.name like :name and b.name like :name");
  12. q.setString( "name", "Bar%" );
  13. list = q.list();
  14. assertTrue( list.size()==1 );

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

  1. query.list();
  2. query.setParameterList( "names", str );
  3. query.uniqueResult();
  4. query.setParameterList("names", str);
  5. query.uniqueResult();
  6. .addEntity( "category", Category.class );
  7. str = new String[] { "WannaBeFound" };
  8. query.setParameterList( "names", str );
  9. query.uniqueResult();
  10. query.setParameterList( "names", str );
  11. query.uniqueResult();

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

  1. List result = session.createQuery( "FROM Zoo z WHERE z.name IN (?1) and z.address.city IN (?2)" )
  2. .setParameterList( 1, namesArray )
  3. .setParameterList( 2, citiesArray )
  4. .list();
  5. assertEquals( 1, result.size() );
  6. session.getTransaction().commit();

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

  1. assertTrue( q.list().size()==3 );
  2. q = s.createQuery("from Simple s");
  3. q.setMaxResults( 1 );
  4. assertTrue( q.list().size()==1 );
  5. q = s.createQuery("from Simple s");
  6. assertTrue( q.list().size() == 3 );
  7. q = s.createQuery("from Simple s where s.name = ?");
  8. q.setString( 0, "Simple 1" );
  9. set.add("Simple 1");
  10. set.add("foo");
  11. q.setParameterList( "name_list", set );
  12. q.setParameter("count", new Integer(-1) );
  13. assertTrue( q.list().size()==1 );

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

  1. assertTrue( q.list().size()==3 );
  2. q = s.createQuery("from Simple s");
  3. q.setMaxResults(1);
  4. assertTrue( q.list().size()==1 );
  5. q = s.createQuery("from Simple s");
  6. assertTrue( q.list().size()==3 );
  7. q = s.createQuery("from Simple s where s.name = ?");
  8. q.setString(0, "Simple 1");
  9. HashSet set = new HashSet();
  10. set.add("Simple 1"); set.add("foo");
  11. q.setParameterList( "name_list", set );
  12. q.setParameter("count", Integer.valueOf( -1 ) );
  13. assertTrue( q.list().size()==1 );

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

  1. master = dd.getMaster();
  2. assertTrue( "detail-master", master.getDetails().contains(dd) );
  3. assertTrue( s.createFilter( master.getDetails(), "order by this.i desc" ).list().size()==2 );
  4. assertTrue( s.createFilter( master.getDetails(), "select this where this.id > -1" ).list().size()==2 );
  5. Query q = s.createFilter( master.getDetails(), "where this.id > :id" );
  6. q.setInteger("id", -1);
  7. assertTrue( q.list().size()==2 );
  8. q = s.createFilter( master.getDetails(), "where this.id > :id1 and this.id < :id2" );
  9. q.setInteger("id1", -1);
  10. q.setParameterList("ids", list);
  11. assertTrue( q.list().size()==1 );
  12. q.setParameterList("ids", list);
  13. assertTrue( q.iterate().hasNext() );
  14. coll.add( new Integer(22) );
  15. coll.add( new Integer(0) );
  16. f.setParameterList("list", coll);
  17. assertEquals( f.iterate().next(), new Integer(12) );
  18. f.setParameterList("list", coll);
  19. f.setParameter( "listy2", master.getName() );
  20. assertEquals( f.iterate().next(), new Integer(12) );

代码示例来源:origin: bill1012/AdminEAP

  1. @SuppressWarnings("unchecked")
  2. public <T> List<T> find(String hql, Map<String, Object> params) {
  3. Query query = this.getCurrentSession().createQuery(hql);
  4. if (params != null && !params.isEmpty()) {
  5. for (String key : params.keySet()) {
  6. Object obj = params.get(key);
  7. if (obj instanceof Collection<?>) {
  8. query.setParameterList(key, (Collection<?>) obj);
  9. } else if (obj instanceof Object[]) {
  10. query.setParameterList(key, (Object[]) obj);
  11. } else {
  12. query.setParameter(key, obj);
  13. }
  14. }
  15. }
  16. return query.list();
  17. }

代码示例来源:origin: openmrs/openmrs-core

  1. Query query = sessionFactory.getCurrentSession().createQuery(hql);
  2. if (cohort != null) {
  3. query.setParameterList("patientIds", cohort.getMemberIds());
  4. query.setParameterList("programs", programs);
  5. return query.list();

代码示例来源:origin: openmrs/openmrs-core

  1. /**
  2. * @param attributes attributes on a Person or Patient object. similar to: [gender, givenName,
  3. * middleName, familyName]
  4. * @return list of patients that match other patients
  5. * @see org.openmrs.api.db.PatientDAO#getDuplicatePatientsByAttributes(java.util.List)
  6. */
  7. @SuppressWarnings("unchecked")
  8. @Override
  9. public List<Patient> getDuplicatePatientsByAttributes(List<String> attributes) {
  10. List<Patient> patients = new ArrayList<>();
  11. List<Integer> patientIds = new ArrayList<>();
  12. if (!attributes.isEmpty()) {
  13. String sqlString = getDuplicatePatientsSQLString(attributes);
  14. if(sqlString != null) {
  15. SQLQuery sqlquery = sessionFactory.getCurrentSession().createSQLQuery(sqlString);
  16. patientIds = sqlquery.list();
  17. if (!patientIds.isEmpty()) {
  18. Query query = sessionFactory.getCurrentSession().createQuery(
  19. "from Patient p1 where p1.patientId in (:ids)");
  20. query.setParameterList("ids", patientIds);
  21. patients = query.list();
  22. }
  23. }
  24. }
  25. sortDuplicatePatients(patients, patientIds);
  26. return patients;
  27. }

代码示例来源:origin: OpenNMS/opennms

  1. @Override
  2. public List<OnmsEvent> doInHibernate(Session session) throws HibernateException, SQLException {
  3. return session.createQuery(hql)
  4. .setParameterList("eventUei", ueiList)
  5. .setParameter("eventTime", date)
  6. .list();
  7. }
  8. });

代码示例来源:origin: stackoverflow.com

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

代码示例来源:origin: denimgroup/threadfix

  1. @Override
  2. @SuppressWarnings("unchecked")
  3. public List<Organization> retrieveAllActiveFilter(Set<Integer> authenticatedTeamIds) {
  4. return sessionFactory.getCurrentSession()
  5. .createQuery("from Organization org where org.active = 1 and org.id in (:teams) order by org.name")
  6. .setParameterList("teams", authenticatedTeamIds).list();
  7. }

代码示例来源:origin: denimgroup/threadfix

  1. @SuppressWarnings("unchecked")
  2. @Override
  3. public List<String> getTeamNames(List<Integer> appIds) {
  4. return (List<String>) sessionFactory.getCurrentSession()
  5. .createQuery("select distinct organization.name from Application application " +
  6. "where id in (:idList)")
  7. .setParameterList("idList", appIds).list();
  8. }

代码示例来源:origin: apache/ctakes

  1. private void updateNames(String queryName, List<String> subList,
  2. Map<String, String> names) {
  3. Query q = sessionFactory.getCurrentSession().getNamedQuery(queryName);
  4. q.setParameterList("cuis", subList);
  5. @SuppressWarnings("unchecked")
  6. List<Object[]> listCuiName = q.list();
  7. for (Object[] cuiName : listCuiName) {
  8. names.put((String) cuiName[0], (String) cuiName[1]);
  9. }
  10. }

代码示例来源:origin: org.ow2.bonita/bonita-server

  1. @Override
  2. @SuppressWarnings("unchecked")
  3. public Set<Category> getCategories(final Collection<String> categoryNames) {
  4. final Query query = getSession().getNamedQuery("getCategoriesByName");
  5. query.setParameterList("names", categoryNames);
  6. final List<Category> results = query.list();
  7. if (results != null) {
  8. return new HashSet<Category>(results);
  9. } else {
  10. return Collections.emptySet();
  11. }
  12. }

代码示例来源:origin: denimgroup/threadfix

  1. @SuppressWarnings("unchecked")
  2. @Override
  3. public List<Vulnerability> retrieveByApplicationIdList(List<Integer> applicationIdList) {
  4. if (applicationIdList == null || applicationIdList.isEmpty()) {
  5. return list();
  6. }
  7. return sessionFactory.getCurrentSession()
  8. .createQuery("from Vulnerability vulnerability " +
  9. "where vulnerability.hidden = false and vulnerability.application.id in (:idList)")
  10. .setParameterList("idList", applicationIdList).list();
  11. }

代码示例来源:origin: sakaiproject/sakai

  1. public List<QuestionPoolData> getAllPoolsForTransfer(final List<Long> selectedPoolIds) {
  2. final HibernateCallback<List> hcb = session -> {
  3. Query q = session.createQuery("FROM QuestionPoolData a WHERE a.questionPoolId IN (:ids)");
  4. q. setParameterList("ids", selectedPoolIds);
  5. return q.list();
  6. };
  7. return getHibernateTemplate().execute(hcb);
  8. }

相关文章