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

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

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

Query.setString介绍

[英]Bind a positional String-valued parameter.
[中]绑定位置字符串值参数。

代码示例

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

  1. @Test
  2. public void testSimpleCaseStatementWithParamResult() {
  3. Session s = openSession();
  4. Transaction t = s.beginTransaction();
  5. s.createQuery( "select case p.name when 'Steve' then :opt1 else p.name end from Person p" )
  6. .setString( "opt1", "x" )
  7. .list();
  8. t.commit();
  9. s.close();
  10. }

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

  1. @Test
  2. public void testSearchedCaseStatementWithParamResult() {
  3. Session s = openSession();
  4. Transaction t = s.beginTransaction();
  5. s.createQuery( "select case when p.name = 'Steve' then :opt1 else p.name end from Person p" )
  6. .setString( "opt1", "x" )
  7. .list();
  8. t.commit();
  9. s.close();
  10. }

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

  1. @Test
  2. public void testDeleteOnMappedJoin() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. Session s = openSession();
  6. Transaction t = s.beginTransaction();
  7. int count = s.createQuery( "delete Joiner where joinedName = :joinedName" ).setString( "joinedName", "joined-name" ).executeUpdate();
  8. assertEquals( "Incorrect deletion count on joined subclass", 1, count );
  9. t.commit();
  10. s.close();
  11. data.cleanup();
  12. }

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

  1. @Test
  2. public void testDeleteParentWithBidirOrphanDeleteCollectionBasedOnPropertyRef() {
  3. Session session = openSession();
  4. Transaction txn = session.beginTransaction();
  5. User user = new User( "test" );
  6. user.addMail( "test" );
  7. user.addMail( "test" );
  8. session.save( user );
  9. txn.commit();
  10. session.close();
  11. session = openSession();
  12. txn = session.beginTransaction();
  13. user = ( User ) session.load( User.class, user.getId() );
  14. session.delete( user );
  15. txn.commit();
  16. session.close();
  17. session = openSession();
  18. txn = session.beginTransaction();
  19. session.createQuery( "delete from Mail where alias = :alias" ).setString( "alias", "test" ).executeUpdate();
  20. session.createQuery( "delete from User where userid = :userid" ).setString( "userid", "test" ).executeUpdate();
  21. txn.commit();
  22. session.close();
  23. }

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

  1. @Test
  2. public void testOrdinalParameters() {
  3. Session s = openSession();
  4. Transaction t = s.beginTransaction();
  5. s.createQuery( "from Animal a where a.description = ?1 and a.bodyWeight = ?2" )
  6. .setString( 1, "something" )
  7. .setFloat( 2, 123f )
  8. .list();
  9. s.createQuery( "from Animal a where a.bodyWeight in (?1, ?2)" )
  10. .setFloat( 1, 999f )
  11. .setFloat( 2, 123f )
  12. .list();
  13. t.commit();
  14. s.close();
  15. }

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

  1. @Test
  2. public void testDeleteUnionSubclassConcreteSubclass() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. // These should only affect the given table
  6. Session s = openSession();
  7. Transaction t = s.beginTransaction();
  8. int count = s.createQuery( "delete Truck where owner = :owner" ).setString( "owner", "Steve" ).executeUpdate();
  9. assertEquals( "incorrect restricted update count", 1, count );
  10. count = s.createQuery( "delete Truck" ).executeUpdate();
  11. assertEquals( "incorrect update count", 2, count );
  12. t.commit();
  13. s.close();
  14. data.cleanup();
  15. }

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

  1. @Test
  2. public void testDeleteUnionSubclassAbstractRoot() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. // These should reach out into *all* subclass tables...
  6. Session s = openSession();
  7. Transaction t = s.beginTransaction();
  8. int count = s.createQuery( "delete Vehicle where owner = :owner" ).setString( "owner", "Steve" ).executeUpdate();
  9. assertEquals( "incorrect restricted update count", 1, count );
  10. count = s.createQuery( "delete Vehicle" ).executeUpdate();
  11. assertEquals( "incorrect update count", 3, count );
  12. t.commit();
  13. s.close();
  14. data.cleanup();
  15. }

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

  1. @Test
  2. public void testDeleteUnionSubclassLeafSubclass() {
  3. TestData data = new TestData();
  4. data.prepare();
  5. // These should only affect the given table
  6. Session s = openSession();
  7. Transaction t = s.beginTransaction();
  8. int count = s.createQuery( "delete Car where owner = :owner" ).setString( "owner", "Kirsten" ).executeUpdate();
  9. assertEquals( "incorrect restricted update count", 1, count );
  10. count = s.createQuery( "delete Car" ).executeUpdate();
  11. assertEquals( "incorrect update count", 0, count );
  12. t.commit();
  13. s.close();
  14. data.cleanup();
  15. }

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

  1. @Test
  2. public void testFilteredJoinedSubclassHqlUpdateNonLeaf() {
  3. Session s = openSession();
  4. s.beginTransaction();
  5. s.save( new Employee( "John", 'M', "john", new Date() ) );
  6. s.save( new Employee( "Jane", 'F', "jane", new Date() ) );
  7. s.save( new Customer( "Charlie", 'M', "charlie", "Acme" ) );
  8. s.save( new Customer( "Wanda", 'F', "wanda", "ABC" ) );
  9. s.getTransaction().commit();
  10. s.close();
  11. s = openSession();
  12. s.beginTransaction();
  13. s.enableFilter( "sex" ).setParameter( "sexCode", Character.valueOf( 'M' ) );
  14. int count = s.createQuery( "update User u set u.username = :un where u.name = :n" )
  15. .setString( "un", "charlie" )
  16. .setString( "n", "Wanda" )
  17. .executeUpdate();
  18. assertEquals( 0, count );
  19. s.getTransaction().commit();
  20. s.close();
  21. s = openSession();
  22. s.beginTransaction();
  23. s.createQuery( "delete Person" ).executeUpdate();
  24. s.getTransaction().commit();
  25. s.close();
  26. }

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

  1. @Test
  2. @SkipForDialect(
  3. value = CUBRIDDialect.class,
  4. comment = "As of version 8.4.1 CUBRID does not support temporary tables." +
  5. " This test somehow calls MultiTableDeleteExecutor which raises an" +
  6. " exception saying 'cannot doAfterTransactionCompletion multi-table" +
  7. " deletes using dialect not supporting temp tables'."
  8. )
  9. public void testParameterMixing() {
  10. Session s = openSession();
  11. Transaction t = s.beginTransaction();
  12. s.createQuery( "from Animal a where a.description = ?1 and a.bodyWeight = ?2 or a.bodyWeight = :bw" )
  13. .setString( 1, "something" )
  14. .setFloat( 2, 12345f )
  15. .setFloat( "bw", 123f )
  16. .list();
  17. t.commit();
  18. s.close();
  19. }

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

  1. @Test
  2. public void testUpdateOnComponent() {
  3. Session s = openSession();
  4. Transaction t = s.beginTransaction();
  5. Human human = new Human();
  6. human.setName( new Name( "Stevee", 'X', "Ebersole" ) );
  7. s.save( human );
  8. s.flush();
  9. t.commit();
  10. String correctName = "Steve";
  11. t = s.beginTransaction();
  12. int count = s.createQuery( "update Human set name.first = :correction where id = :id" )
  13. .setString( "correction", correctName )
  14. .setLong( "id", human.getId().longValue() )
  15. .executeUpdate();
  16. assertEquals( "Incorrect update count", 1, count );
  17. t.commit();
  18. t = s.beginTransaction();
  19. s.refresh( human );
  20. assertEquals( "Update did not execute properly", correctName, human.getName().getFirst() );
  21. s.createQuery( "delete Human" ).executeUpdate();
  22. t.commit();
  23. s.close();
  24. }

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

  1. @Test
  2. public void testAttachedChildInMerge() {
  3. fillInitialData();
  4. Session s = openSession();
  5. s.beginTransaction();
  6. Route route = (Route) s.createQuery("FROM Route WHERE name = :name").setString("name", "Route 1").uniqueResult();
  7. Node n2 = (Node) s.createQuery("FROM Node WHERE name = :name").setString("name", "Node 2").uniqueResult();
  8. Node n3 = (Node) s.createQuery("FROM Node WHERE name = :name").setString("name", "Node 3").uniqueResult();
  9. Vehicle vehicle = new Vehicle();
  10. vehicle.setName("Bus");
  11. vehicle.setRoute(route);
  12. Transport $2to3 = new Transport();
  13. $2to3.setName("Transport 2 -> 3");
  14. $2to3.setPickupNode(n2); n2.getPickupTransports().add($2to3);
  15. $2to3.setDeliveryNode(n3); n3.getDeliveryTransports().add($2to3);
  16. $2to3.setVehicle(vehicle);
  17. vehicle.setTransports(new HashSet<Transport>(Arrays.asList($2to3)));
  18. // Try to save graph of transient entities (vehicle, transport) which contains attached entities (node2, node3)
  19. Vehicle managedVehicle = (Vehicle) s.merge(vehicle);
  20. checkNewVehicle(managedVehicle);
  21. s.flush();
  22. s.clear();
  23. assertEquals(3, s.createQuery("FROM Transport").list().size());
  24. assertEquals(2, s.createQuery("FROM Vehicle").list().size());
  25. assertEquals(4, s.createQuery("FROM Node").list().size());
  26. Vehicle newVehicle = (Vehicle) s.createQuery("FROM Vehicle WHERE name = :name").setParameter("name", "Bus").uniqueResult();
  27. checkNewVehicle(newVehicle);
  28. s.getTransaction().commit();
  29. s.close();
  30. }

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

  1. @Test
  2. @RequiresDialectFeature(
  3. value = DialectChecks.SupportsResultSetPositioningOnForwardOnlyCursorCheck.class,
  4. comment = "Driver does not support result set positioning methods on forward-only cursors"
  5. )
  6. public void testScrollingJoinFetchesForward() {
  7. TestData data = new TestData();
  8. data.prepare();
  9. Session s = openSession();
  10. Transaction txn = s.beginTransaction();
  11. ScrollableResults results = s
  12. .createQuery( "from Animal a left join fetch a.offspring where a.description like :desc order by a.id" )
  13. .setString( "desc", "root%" )
  14. .scroll( ScrollMode.FORWARD_ONLY );
  15. int counter = 0;
  16. while ( results.next() ) {
  17. counter++;
  18. Animal animal = ( Animal ) results.get( 0 );
  19. checkResult( animal );
  20. }
  21. assertEquals( "unexpected result count", 2, counter );
  22. txn.commit();
  23. s.close();
  24. data.cleanup();
  25. }

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

  1. Transaction t = s.beginTransaction();
  2. int count = s.createQuery( "update Animal set description = description where description = :desc" )
  3. .setString( "desc", data.frog.getDescription() )
  4. .executeUpdate();
  5. assertEquals( "Incorrect entity-updated count", 1, count );
  6. .setString( "desc", data.polliwog.getDescription() )
  7. .setString( "newDesc", "Tadpole" )
  8. .executeUpdate();
  9. assertEquals( "Incorrect entity-updated count", 1, count );

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

  1. @Test
  2. @SkipForDialect(value = CUBRIDDialect.class, comment = "As of verion 8.4.1 CUBRID doesn't support temporary tables. This test fails with"
  3. + "HibernateException: cannot doAfterTransactionCompletion multi-table deletes using dialect not supporting temp tables")
  4. @SkipForDialect(value = AbstractHANADialect.class, comment = "HANA only supports forward-only cursors.")
  5. public void testScrollingJoinFetchesReverse() {
  6. TestData data = new TestData();
  7. data.prepare();
  8. Session s = openSession();
  9. Transaction txn = s.beginTransaction();
  10. ScrollableResults results = s
  11. .createQuery(
  12. "from Animal a left join fetch a.offspring where a.description like :desc order by a.id" )
  13. .setString( "desc", "root%" ).scroll();
  14. results.afterLast();
  15. int counter = 0;
  16. while ( results.previous() ) {
  17. counter++;
  18. Animal animal = ( Animal ) results.get( 0 );
  19. checkResult( animal );
  20. }
  21. assertEquals( "unexpected result count", 2, counter );
  22. txn.commit();
  23. s.close();
  24. data.cleanup();
  25. }

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

  1. @Test
  2. public void testLoading() throws Exception {
  3. initData();
  4. Session s = openSession();
  5. Transaction t = s.beginTransaction();
  6. Widget obj = (Widget) s.createQuery("from Widget o where o.string = :string").setString("string", "all-normal").uniqueResult();
  7. assertEquals("Non-Default value incorrectly loaded", obj.getValueOne(), 7);
  8. assertEquals("Non-Default value incorrectly loaded", obj.getValueTwo(), 8);
  9. assertEquals("Non-Default value incorrectly loaded", obj.getValueThree(), 9);
  10. assertEquals("Non-Default value incorrectly loaded", obj.getValueFour(), 10);
  11. obj = (Widget) s.createQuery("from Widget o where o.string = :string").setString("string", "all-default").uniqueResult();
  12. assertEquals("Default value incorrectly loaded", obj.getValueOne(), 1);
  13. assertEquals("Default value incorrectly loaded", obj.getValueTwo(), 2);
  14. assertEquals("Default value incorrectly loaded", obj.getValueThree(), -1);
  15. assertEquals("Default value incorrectly loaded", obj.getValueFour(), -5);
  16. t.commit();
  17. s.close();
  18. deleteData();
  19. }

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

  1. @Test
  2. public void testManyToAnyWithMap() throws Exception {
  3. Session s = openSession();
  4. Transaction t = s.beginTransaction();
  5. PropertyMap map = new PropertyMap( "sample" );
  6. map.getProperties().put( "name", new StringProperty( "name", "Alex" ) );
  7. map.getProperties().put( "age", new IntegerProperty( "age", 33 ) );
  8. s.save( map );
  9. s.flush();
  10. s.clear();
  11. Query q = s
  12. .createQuery( "SELECT map FROM PropertyMap map WHERE map.name = :name" );
  13. q.setString( "name", "sample" );
  14. PropertyMap actualMap = (PropertyMap) q.uniqueResult();
  15. assertNotNull( actualMap );
  16. assertNotNull( actualMap.getProperties() );
  17. Property property = actualMap.getProperties().get( "name" );
  18. assertNotNull( property );
  19. assertTrue( property instanceof StringProperty );
  20. assertEquals( "Alex", property.asString() );
  21. property = actualMap.getProperties().get( "age" );
  22. assertNotNull( property );
  23. assertTrue( property instanceof IntegerProperty );
  24. assertEquals( "33", property.asString() );
  25. t.rollback();
  26. s.close();
  27. }

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

  1. s.createQuery( "select case when p.name = 'Steve' then :opt1 else :opt2 end from Person p" )
  2. .setString( "opt1", "x" )
  3. .setString( "opt2", "y" )
  4. .list();
  5. fail( "was expecting an exception" );
  6. s.createQuery( "select case when p.name = 'Steve' then cast( :opt1 as string) else :opt2 end from Person p" )
  7. .setString( "opt1", "x" )
  8. .setString( "opt2", "y" )
  9. .list();

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

  1. q.setString( "name", "sample" );
  2. PropertyList<Property> actualList = (PropertyList<Property>) q
  3. .uniqueResult();

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

  1. .setString( "desc", "root%" )
  2. .scroll();

相关文章