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

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

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

Query.setParameter介绍

[英]Bind a value to a JDBC-style 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 given object.
[中]将值绑定到JDBC样式的查询参数。参数的Hibernate类型首先通过查询中的用法/位置进行检测,如果不够,则从给定对象的类中进行二次猜测。

代码示例

代码示例来源:origin: spring-projects/spring-framework

  1. @Deprecated
  2. @Override
  3. @SuppressWarnings({"rawtypes", "unchecked", "deprecation"})
  4. public List<?> find(final String queryString, @Nullable final Object... values) throws DataAccessException {
  5. return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> {
  6. org.hibernate.Query queryObject = queryObject(
  7. ReflectionUtils.invokeMethod(createQueryMethod, session, queryString));
  8. prepareQuery(queryObject);
  9. if (values != null) {
  10. for (int i = 0; i < values.length; i++) {
  11. queryObject.setParameter(i, values[i]);
  12. }
  13. }
  14. return queryObject.list();
  15. }));
  16. }

代码示例来源:origin: citerus/dddsample-core

  1. @Override
  2. public HandlingHistory lookupHandlingHistoryOfCargo(final TrackingId trackingId) {
  3. return new HandlingHistory(getSession().createQuery(
  4. "from HandlingEvent where cargo.trackingId = :tid").
  5. setParameter("tid", trackingId).
  6. list()
  7. );
  8. }

代码示例来源:origin: citerus/dddsample-core

  1. public Cargo find(TrackingId tid) {
  2. return (Cargo) getSession().
  3. createQuery("from Cargo where trackingId = :tid").
  4. setParameter("tid", tid).
  5. uniqueResult();
  6. }

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

  1. s.save( bar2 );
  2. List list = s.createQuery(
  3. "from Bar bar left join bar.baz baz left join baz.cascadingBars b where bar.name like 'Bar %'"
  4. ).list();
  5. assertTrue( row instanceof Object[] && ( (Object[]) row ).length==3 );
  6. Query q = s.createQuery("select bar, b from Bar bar left join bar.baz baz left join baz.cascadingBars b where bar.name like 'Bar%'");
  7. list = q.list();
  8. if ( !(getDialect() instanceof SAPDBDialect) ) assertTrue( list.size()==2 );
  9. q = s.createQuery("select bar, b from Bar bar left join bar.baz baz left join baz.cascadingBars b where ( bar.name in (:nameList) or bar.name in (:nameList) ) and bar.string = :stringVal");
  10. HashSet nameList = new HashSet();
  11. nameList.add( "bar" );
  12. nameList.add( "Bar Two" );
  13. q.setParameterList( "nameList", nameList );
  14. q.setParameter( "stringVal", "a string" );
  15. list = q.list();
  16. if ( !(getDialect() instanceof SAPDBDialect) ) assertTrue( list.size()==2 );
  17. 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");
  18. q.setString( "name", "Bar%" );
  19. list = q.list();
  20. assertTrue( list.size()==1 );

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

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

代码示例来源:origin: gocd/gocd

  1. public List<Modification> modificationFor(final StageIdentifier stageIdentifier) {
  2. if (stageIdentifier == null) {
  3. return null;
  4. }
  5. String key = cacheKeyForModificationsForStageLocator(stageIdentifier);
  6. List<Modification> modifications = (List<Modification>) goCache.get(key);
  7. if (modifications == null) {
  8. synchronized (key) {
  9. modifications = (List<Modification>) goCache.get(key);
  10. if (modifications == null) {
  11. modifications = (List<Modification>) getHibernateTemplate().execute((HibernateCallback) session -> {
  12. Query q = session.createQuery("FROM Modification WHERE revision = :revision ORDER BY id DESC");
  13. q.setParameter("revision", stageIdentifier.getStageLocator());
  14. return q.list();
  15. });
  16. if (!modifications.isEmpty()) {
  17. goCache.put(key, modifications);
  18. }
  19. }
  20. }
  21. }
  22. return modifications;
  23. }

代码示例来源:origin: netgloo/spring-boot-samples

  1. public User getByEmail(String email) {
  2. return (User) getSession().createQuery(
  3. "from User where email = :email")
  4. .setParameter("email", email)
  5. .uniqueResult();
  6. }

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

  1. s.save(simple );
  2. s.createQuery( "from Simple s where repeat('foo', 3) = 'foofoofoo'" ).list();
  3. s.createQuery( "from Simple s where repeat(s.name, 3) = 'foofoofoo'" ).list();
  4. s.createQuery( "from Simple s where repeat( lower(s.name), (3 + (1-1)) / 2) = 'foofoofoo'" ).list();
  5. assertTrue( q.iterate().hasNext() );
  6. q = s.createQuery("from Simple s where s.name = :foo and upper(s.name) = :bar or s.count=:count or s.count=:count + 1");
  7. q.setParameter( "bar", "SIMPLE 1" );
  8. q.setString( "foo", "Simple 1" );
  9. q.setInteger("count", 69);
  10. q = s.createQuery("select all s, s.other from Simple s where s = :s");
  11. q.setParameter("s", simple);
  12. assertTrue( q.list().size()==1 );
  13. set.add("foo");
  14. q.setParameterList( "name_list", set );
  15. q.setParameter("count", new Integer(-1) );
  16. assertTrue( q.list().size()==1 );

代码示例来源:origin: spring-projects/spring-framework

  1. @Deprecated
  2. @Override
  3. @SuppressWarnings({"rawtypes", "unchecked", "deprecation"})
  4. public List<?> findByNamedQuery(final String queryName, @Nullable final Object... values) throws DataAccessException {
  5. return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> {
  6. org.hibernate.Query queryObject = queryObject(
  7. ReflectionUtils.invokeMethod(getNamedQueryMethod, session, queryName));
  8. prepareQuery(queryObject);
  9. if (values != null) {
  10. for (int i = 0; i < values.length; i++) {
  11. queryObject.setParameter(i, values[i]);
  12. }
  13. }
  14. return queryObject.list();
  15. }));
  16. }

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

  1. Query query = sessionFactory.getCurrentSession().createQuery(hql.toString());
  2. query.setParameter("DAEMON_USER_UUID", Daemon.getDaemonUserUuid());
  3. for (Map.Entry<String, String> e : namesMap.entrySet()) {
  4. query.setString(e.getKey(), e.getValue());

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

  1. @Test
  2. public void testBetweenParameters() {
  3. final Session s = openSession();
  4. s.getTransaction().begin();
  5. final Query query = s.createQuery( "from Item where quantity between :low and :high" );
  6. query.setParameter( "low", new Integer( 9 ) );
  7. query.setParameter( "high", new Integer( 11 ) );
  8. @SuppressWarnings("unchecked")
  9. final List<Item> result = query.list();
  10. assertEquals( 1, result.size() );
  11. assertEquals( 10, result.get( 0 ).getQuantity().intValue() );
  12. s.getTransaction().commit();
  13. s.close();
  14. }

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

  1. @Test
  2. public void testInsertWithMultipleNamedParams() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. Session s = openSession();
  6. Transaction t = s.beginTransaction();
  7. org.hibernate.Query q = s.createQuery( "insert into Pickup (id, owner, vin) select :id, owner, :vin from Car" );
  8. q.setParameter("id", 5l);
  9. q.setParameter("vin", "some");
  10. q.executeUpdate();
  11. t.commit();
  12. t = s.beginTransaction();
  13. s.createQuery( "delete Vehicle" ).executeUpdate();
  14. t.commit();
  15. s.close();
  16. data.cleanup();
  17. }

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

  1. s.createQuery( "from Simple s where repeat('foo', 3) = 'foofoofoo'" ).list();
  2. s.createQuery( "from Simple s where repeat(s.name, 3) = 'foofoofoo'" ).list();
  3. s.createQuery( "from Simple s where repeat( lower(s.name), 3 + (1-1) / 2) = 'foofoofoo'" ).list();
  4. assertTrue( q.iterate().hasNext() );
  5. q = s.createQuery("from Simple s where s.name = :foo and upper(s.name) = :bar or s.count=:count or s.count=:count + 1");
  6. q.setParameter("bar", "SIMPLE 1");
  7. q.setString("foo", "Simple 1");
  8. q.setInteger("count", 69);
  9. q = s.createQuery("select all s, s.other from Simple s where s = :s");
  10. q.setParameter("s", simple);
  11. assertTrue( q.list().size()==1 );
  12. set.add("Simple 1"); set.add("foo");
  13. q.setParameterList( "name_list", set );
  14. q.setParameter("count", Integer.valueOf( -1 ) );
  15. assertTrue( q.list().size()==1 );

代码示例来源:origin: org.springframework/spring-orm

  1. @Deprecated
  2. @Override
  3. @SuppressWarnings({"rawtypes", "unchecked", "deprecation"})
  4. public List<?> find(final String queryString, @Nullable final Object... values) throws DataAccessException {
  5. return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> {
  6. org.hibernate.Query queryObject = queryObject(
  7. ReflectionUtils.invokeMethod(createQueryMethod, session, queryString));
  8. prepareQuery(queryObject);
  9. if (values != null) {
  10. for (int i = 0; i < values.length; i++) {
  11. queryObject.setParameter(i, values[i]);
  12. }
  13. }
  14. return queryObject.list();
  15. }));
  16. }

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

  1. @Test
  2. public void testRetrievingEntityByZoneDateTime() {
  3. final ZonedDateTime startDate = ZonedDateTime.of(
  4. 1,
  5. 1,
  6. 1,
  7. 0,
  8. 0,
  9. 0,
  10. 0,
  11. ZoneOffset.ofHours( 3 )
  12. );
  13. saveZoneDateTimeEventWithStartDate( startDate );
  14. final Session s = openSession();
  15. try {
  16. Query query = s.createQuery( "from ZonedDateTimeEvent o where o.startDate = :date" );
  17. query.setParameter( "date", startDate, ZonedDateTimeType.INSTANCE );
  18. List<ZonedDateTimeEvent> list = query.list();
  19. assertThat( list.size(), is( 1 ) );
  20. }
  21. finally {
  22. s.close();
  23. }
  24. }

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

  1. @Test
  2. public void testSimpleInsertWithNamedParam() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. Session s = openSession();
  6. Transaction t = s.beginTransaction();
  7. org.hibernate.Query q = s.createQuery( "insert into Pickup (id, owner, vin) select id, :owner, vin from Car" );
  8. q.setParameter("owner", "owner");
  9. q.executeUpdate();
  10. t.commit();
  11. t = s.beginTransaction();
  12. s.createQuery( "delete Vehicle" ).executeUpdate();
  13. t.commit();
  14. s.close();
  15. data.cleanup();
  16. }

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

  1. assertTrue(
  2. "query",
  3. s.createQuery(
  4. "from Detail d, Master m where m = d.master and size(m.outgoing) = 0 and size(m.incoming) = 0"
  5. ).list().size()==2
  6. assertTrue( s.createQuery( "select elements(master.details) from Master master" ).list().size()==2 );
  7. t.commit();
  8. s.close();
  9. List list = s.createQuery( "from Master m left join fetch m.details" ).list();
  10. Master m = (Master) list.get(0);
  11. assertTrue( Hibernate.isInitialized( m.getDetails() ) );
  12. master = dd.getMaster();
  13. assertTrue( "detail-master", master.getDetails().contains(dd) );
  14. assertTrue( s.createFilter( master.getDetails(), "order by this.i desc" ).list().size()==2 );
  15. assertTrue( s.createFilter( master.getDetails(), "select this where this.id > -1" ).list().size()==2 );
  16. Query q = s.createFilter( master.getDetails(), "where this.id > :id" );
  17. q.setInteger("id", -1);
  18. assertTrue( q.list().size()==2 );
  19. q = s.createFilter( master.getDetails(), "where this.id > :id1 and this.id < :id2" );
  20. q.setInteger("id1", -1);
  21. f.setParameter( "listy2", master.getName() );
  22. assertEquals( f.iterate().next(), new Integer(12) );

代码示例来源:origin: org.springframework/spring-orm

  1. @Deprecated
  2. @Override
  3. @SuppressWarnings({"rawtypes", "unchecked", "deprecation"})
  4. public List<?> findByNamedQuery(final String queryName, @Nullable final Object... values) throws DataAccessException {
  5. return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> {
  6. org.hibernate.Query queryObject = queryObject(
  7. ReflectionUtils.invokeMethod(getNamedQueryMethod, session, queryName));
  8. prepareQuery(queryObject);
  9. if (values != null) {
  10. for (int i = 0; i < values.length; i++) {
  11. queryObject.setParameter(i, values[i]);
  12. }
  13. }
  14. return queryObject.list();
  15. }));
  16. }

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

  1. Session s = openSession();
  2. try {
  3. Query q = s.createQuery("select bar from Bar as bar where bar.x > :myX");
  4. q.list();
  5. fail("Should throw QueryException for missing myX");
  6. Query q = s.createQuery("select bar from Bar as bar where bar.x > ?");
  7. q.list();
  8. fail("Should throw QueryException for missing ?");
  9. Query q = s.createQuery("select bar from Bar as bar where bar.x > ? or bar.short = 1 or bar.string = 'ff ? bb'");
  10. q.setInteger(0, 1);
  11. q.list();
  12. try {
  13. Query q = s.createQuery("select bar from Bar as bar where bar.string = ? or bar.string = ? or bar.string = ?");
  14. q.setParameter(0, "bull");
  15. q.setParameter(2, "shit");
  16. q.list();
  17. fail("should throw exception telling me i have not set parameter 1");

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

  1. @Test
  2. public void testInsertWithSubqueriesAndNamedParams() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. Session s = openSession();
  6. Transaction t = s.beginTransaction();
  7. org.hibernate.Query q = s.createQuery( "insert into Pickup (id, owner, vin) select :id, (select a.description from Animal a where a.description = :description), :vin from Car" );
  8. q.setParameter("id", 5l);
  9. q.setParameter("description", "Frog");
  10. q.setParameter("vin", "some");
  11. q.executeUpdate();
  12. t.commit();
  13. t = s.beginTransaction();
  14. try {
  15. org.hibernate.Query q1 = s.createQuery( "insert into Pickup (id, owner, vin) select :id, (select :description from Animal a where a.description = :description), :vin from Car" );
  16. fail("Unsupported exception should have been thrown");
  17. }
  18. catch (IllegalArgumentException e) {
  19. assertTyping( QueryException.class, e.getCause() );
  20. }
  21. catch(QueryException e) {
  22. assertTrue(e.getMessage().indexOf("Use of parameters in subqueries of INSERT INTO DML statements is not supported.") > -1);
  23. }
  24. t.commit();
  25. t = s.beginTransaction();
  26. s.createQuery( "delete Vehicle" ).executeUpdate();
  27. t.commit();
  28. s.close();
  29. data.cleanup();
  30. }

相关文章