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

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

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

Query.setReadOnly介绍

暂无

代码示例

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

  1. /**
  2. * Creates a new {@link HibernateScrollableResultsIterator} for the given {@link Query}.
  3. *
  4. * @param jpaQuery must not be {@literal null}.
  5. */
  6. HibernateScrollableResultsIterator(Query jpaQuery) {
  7. org.hibernate.query.Query<?> query = jpaQuery.unwrap(org.hibernate.query.Query.class);
  8. this.scrollableResults = query.setReadOnly(TransactionSynchronizationManager.isCurrentTransactionReadOnly())//
  9. .scroll(ScrollMode.FORWARD_ONLY);
  10. }

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

  1. @Test
  2. public void test_hql_read_only_entities_native_example() {
  3. doInJPA( this::entityManagerFactory, entityManager -> {
  4. //tag::hql-read-only-entities-native-example[]
  5. List<Call> calls = entityManager.createQuery(
  6. "select c " +
  7. "from Call c " +
  8. "join c.phone p " +
  9. "where p.number = :phoneNumber ", Call.class )
  10. .setParameter( "phoneNumber", "123-456-7890" )
  11. .unwrap( org.hibernate.query.Query.class )
  12. .setReadOnly( true )
  13. .getResultList();
  14. //end::hql-read-only-entities-native-example[]
  15. });
  16. }
  17. }

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

  1. int i = 0;
  2. Iterator it = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly( false )
  4. .iterate();
  5. while ( it.hasNext() ) {

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

  1. int i = 0;
  2. Iterator it = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly( true )
  4. .iterate();
  5. while ( it.hasNext() ) {

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

  1. int i = 0;
  2. ScrollableResults sr = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly( false )
  4. .scroll(ScrollMode.FORWARD_ONLY);
  5. while ( sr.next() ) {

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

  1. int i = 0;
  2. ScrollableResults sr = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly( true )
  4. .scroll(ScrollMode.FORWARD_ONLY);
  5. while ( sr.next() ) {

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

  1. @Test
  2. public void testReadOnlyModeAutoFlushOnQuery() {
  3. clearCounts();
  4. Session s = openSession();
  5. Transaction t = s.beginTransaction();
  6. DataPoint dpFirst = null;
  7. for ( int i=0; i<100; i++ ) {
  8. DataPoint dp = new DataPoint();
  9. dp.setX( new BigDecimal(i * 0.1d).setScale(19, BigDecimal.ROUND_DOWN) );
  10. dp.setY( new BigDecimal( Math.cos( dp.getX().doubleValue() ) ).setScale(19, BigDecimal.ROUND_DOWN) );
  11. s.save(dp);
  12. }
  13. assertInsertCount( 0 );
  14. assertUpdateCount( 0 );
  15. ScrollableResults sr = s.createQuery("from DataPoint dp order by dp.x asc")
  16. .setReadOnly(true)
  17. .scroll(ScrollMode.FORWARD_ONLY);
  18. assertInsertCount( 100 );
  19. assertUpdateCount( 0 );
  20. clearCounts();
  21. while ( sr.next() ) {
  22. DataPoint dp = (DataPoint) sr.get(0);
  23. assertFalse( s.isReadOnly( dp ) );
  24. s.delete( dp );
  25. }
  26. t.commit();
  27. s.close();
  28. assertUpdateCount( 0 );
  29. assertDeleteCount( 100 );
  30. }

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

  1. int i = 0;
  2. ScrollableResults sr = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly(true)
  4. .scroll(ScrollMode.FORWARD_ONLY);
  5. while ( sr.next() ) {

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

  1. assertFalse( s.isDefaultReadOnly() );
  2. DataPoint dp = ( DataPoint ) s.createQuery( "select c.lazyDataPoints from Container c join c.lazyDataPoints where c.id=" + cOrig.getId() )
  3. .setReadOnly( true ).uniqueResult();
  4. assertTrue( s.isReadOnly( dp ) );
  5. t.commit();

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

  1. int i = 0;
  2. ScrollableResults sr = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly(false)
  4. .scroll(ScrollMode.FORWARD_ONLY);
  5. int nExpectedChanges = 0;

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

  1. assertTrue( s.isDefaultReadOnly() );
  2. Container c = ( Container ) s.createQuery( "from Container where id=" + cOrig.getId() )
  3. .setReadOnly( false ).uniqueResult();
  4. expectedInitializedObjects = new HashSet(
  5. Arrays.asList(

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

  1. int i = 0;
  2. ScrollableResults sr = s.createQuery("from DataPoint dp order by dp.x asc")
  3. .setReadOnly(true)
  4. .scroll(ScrollMode.FORWARD_ONLY);
  5. int nExpectedChanges = 0;

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

  1. .setReadOnly(false)
  2. .scroll(ScrollMode.FORWARD_ONLY);
  3. int nExpectedChanges = 0;

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

  1. assertFalse( s.isDefaultReadOnly() );
  2. Container c = ( Container ) s.createQuery( "from Container where id=" + cOrig.getId() )
  3. .setReadOnly( true ).uniqueResult();
  4. expectedInitializedObjects = new HashSet(
  5. Arrays.asList(

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

  1. @Test
  2. public void testModifiableViaSessionBeforeInitByModifiableQuery() {
  3. DataPoint dpOrig = createDataPoint( CacheMode.IGNORE );
  4. Session s = openSession();
  5. s.setCacheMode(CacheMode.IGNORE);
  6. s.beginTransaction();
  7. DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) );
  8. assertTrue( dp instanceof HibernateProxy );
  9. assertFalse( Hibernate.isInitialized( dp ) );
  10. checkReadOnly( s, dp, false );
  11. DataPoint dpFromQuery = ( DataPoint ) s.createQuery( "from DataPoint where id=" + dpOrig.getId() ).setReadOnly( false ).uniqueResult();
  12. assertTrue( Hibernate.isInitialized( dpFromQuery ) );
  13. assertSame( dp, dpFromQuery );
  14. checkReadOnly( s, dp, false );
  15. dp.setDescription( "changed" );
  16. assertEquals( "changed", dp.getDescription() );
  17. s.flush();
  18. s.getTransaction().commit();
  19. s.close();
  20. s = openSession();
  21. s.beginTransaction();
  22. dp = ( DataPoint ) s.get( DataPoint.class, dpOrig.getId() );
  23. assertEquals( dpOrig.getId(), dp.getId() );
  24. assertEquals( "changed", dp.getDescription() );
  25. assertEquals( dpOrig.getX(), dp.getX() );
  26. assertEquals( dpOrig.getY(), dp.getY() );
  27. s.delete( dp );
  28. s.getTransaction().commit();
  29. s.close();
  30. }

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

  1. @Test
  2. public void testModifiableViaSessionBeforeInitByReadOnlyQuery() {
  3. DataPoint dpOrig = createDataPoint( CacheMode.IGNORE );
  4. Session s = openSession();
  5. s.setCacheMode(CacheMode.IGNORE);
  6. s.beginTransaction();
  7. DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) );
  8. assertTrue( dp instanceof HibernateProxy );
  9. checkReadOnly( s, dp, false );
  10. assertFalse( Hibernate.isInitialized( dp ) );
  11. DataPoint dpFromQuery = ( DataPoint ) s.createQuery( "from DataPoint where id=" + dpOrig.getId() ).setReadOnly( true ).uniqueResult();
  12. assertTrue( Hibernate.isInitialized( dpFromQuery ) );
  13. assertSame( dp, dpFromQuery );
  14. checkReadOnly( s, dp, false );
  15. dp.setDescription( "changed" );
  16. assertEquals( "changed", dp.getDescription() );
  17. s.flush();
  18. s.getTransaction().commit();
  19. s.close();
  20. s = openSession();
  21. s.beginTransaction();
  22. dp = ( DataPoint ) s.get( DataPoint.class, dpOrig.getId() );
  23. assertEquals( dpOrig.getId(), dp.getId() );
  24. assertEquals( "changed", dp.getDescription() );
  25. assertEquals( dpOrig.getX(), dp.getX() );
  26. assertEquals( dpOrig.getY(), dp.getY() );
  27. s.delete( dp );
  28. s.getTransaction().commit();
  29. s.close();
  30. }

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

  1. s.setReadOnly( dp, true );
  2. checkReadOnly( s, dp, true );
  3. DataPoint dpFromQuery = ( DataPoint ) s.createQuery( "from DataPoint where id=" + dpOrig.getId() ).setReadOnly( true ).uniqueResult();
  4. assertTrue( Hibernate.isInitialized( dpFromQuery ) );
  5. assertSame( dp, dpFromQuery );

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

  1. checkReadOnly( s, dp, true );
  2. assertFalse( Hibernate.isInitialized( dp ) );
  3. DataPoint dpFromQuery = ( DataPoint ) s.createQuery( "from DataPoint where id=" + dpOrig.getId() ).setReadOnly( false ).uniqueResult();
  4. assertTrue( Hibernate.isInitialized( dpFromQuery ) );
  5. assertSame( dp, dpFromQuery );

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

  1. protected void initQueryFromNamedDefinition(Query query, NamedQueryDefinition nqd) {
  2. // todo : cacheable and readonly should be Boolean rather than boolean...
  3. query.setCacheable( nqd.isCacheable() );
  4. query.setCacheRegion( nqd.getCacheRegion() );
  5. query.setReadOnly( nqd.isReadOnly() );
  6. if ( nqd.getTimeout() != null ) {
  7. query.setTimeout( nqd.getTimeout() );
  8. }
  9. if ( nqd.getFetchSize() != null ) {
  10. query.setFetchSize( nqd.getFetchSize() );
  11. }
  12. if ( nqd.getCacheMode() != null ) {
  13. query.setCacheMode( nqd.getCacheMode() );
  14. }
  15. if ( nqd.getComment() != null ) {
  16. query.setComment( nqd.getComment() );
  17. }
  18. if ( nqd.getFirstResult() != null ) {
  19. query.setFirstResult( nqd.getFirstResult() );
  20. }
  21. if ( nqd.getMaxResults() != null ) {
  22. query.setMaxResults( nqd.getMaxResults() );
  23. }
  24. if ( nqd.getFlushMode() != null ) {
  25. query.setHibernateFlushMode( nqd.getFlushMode() );
  26. }
  27. }

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

  1. /**
  2. * Creates a new {@link HibernateScrollableResultsIterator} for the given {@link Query}.
  3. *
  4. * @param jpaQuery must not be {@literal null}.
  5. */
  6. HibernateScrollableResultsIterator(Query jpaQuery) {
  7. org.hibernate.query.Query<?> query = jpaQuery.unwrap(org.hibernate.query.Query.class);
  8. this.scrollableResults = query.setReadOnly(TransactionSynchronizationManager.isCurrentTransactionReadOnly())//
  9. .scroll(ScrollMode.FORWARD_ONLY);
  10. }

相关文章