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

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

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

Query.setCacheable介绍

暂无

代码示例

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

  1. public HolidayCalendar getHolidayCalendar() {
  2. Session session = sessionFactory.getCurrentSession();
  3. session.beginTransaction();
  4. List calendars = session.createQuery("from HolidayCalendar").setCacheable(true).list();
  5. session.getTransaction().commit();
  6. return calendars.isEmpty() ? null : (HolidayCalendar)calendars.get(0);
  7. }
  8. }

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

  1. public HolidayCalendar getHolidayCalendar() {
  2. Session session = sessionFactory.getCurrentSession();
  3. session.beginTransaction();
  4. List calendars = session.createQuery("from HolidayCalendar").setCacheable(true).list();
  5. session.getTransaction().commit();
  6. return calendars.isEmpty() ? null : (HolidayCalendar)calendars.get(0);
  7. }
  8. }

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

  1. public List listEvents() {
  2. Session session = sessionFactory.getCurrentSession();
  3. session.beginTransaction();
  4. List result = session.createQuery("from Event").setCacheable(true).list();
  5. session.getTransaction().commit();
  6. return result;
  7. }

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

  1. public List listEvents() {
  2. Session session = sessionFactory.getCurrentSession();
  3. session.beginTransaction();
  4. List result = session.createQuery("from Event").setCacheable(true).list();
  5. session.getTransaction().commit();
  6. return result;
  7. }

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

  1. public Long createHolidayCalendar() {
  2. Session session = sessionFactory.getCurrentSession();
  3. session.beginTransaction();
  4. // delete all existing calendars
  5. List calendars = session.createQuery("from HolidayCalendar").setCacheable(true).list();
  6. for (ListIterator li = calendars.listIterator(); li.hasNext(); ) {
  7. session.delete(li.next());
  8. }
  9. HolidayCalendar calendar = new HolidayCalendar();
  10. calendar.init();
  11. Long calendarId = (Long)session.save(calendar);
  12. session.getTransaction().commit();
  13. return calendarId;
  14. }

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

  1. public Long createHolidayCalendar() {
  2. Session session = sessionFactory.getCurrentSession();
  3. session.beginTransaction();
  4. // delete all existing calendars
  5. List calendars = session.createQuery("from HolidayCalendar").setCacheable(true).list();
  6. for (ListIterator li = calendars.listIterator(); li.hasNext(); ) {
  7. session.delete(li.next());
  8. }
  9. HolidayCalendar calendar = new HolidayCalendar();
  10. calendar.init();
  11. Long calendarId = (Long)session.save(calendar);
  12. session.getTransaction().commit();
  13. return calendarId;
  14. }

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

  1. @Test
  2. public void test_hql_api_basic_usage_example() {
  3. doInJPA( this::entityManagerFactory, entityManager -> {
  4. Session session = entityManager.unwrap( Session.class );
  5. //tag::hql-api-basic-usage-example[]
  6. org.hibernate.query.Query query = session.createQuery(
  7. "select p " +
  8. "from Person p " +
  9. "where p.name like :name" )
  10. // timeout - in seconds
  11. .setTimeout( 2 )
  12. // write to L2 caches, but do not read from them
  13. .setCacheMode( CacheMode.REFRESH )
  14. // assuming query cache was enabled for the SessionFactory
  15. .setCacheable( true )
  16. // add a comment to the generated SQL if enabled via the hibernate.use_sql_comments configuration property
  17. .setComment( "+ INDEX(p idx_person_name)" );
  18. //end::hql-api-basic-usage-example[]
  19. });
  20. }

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

  1. MyReferenceData queried = (MyReferenceData) s.createQuery( "from MyReferenceData" ).setCacheable( true ).list().get( 0 );
  2. s.getTransaction().commit();
  3. s.close();

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

  1. MyEnhancedReferenceData queried = (MyEnhancedReferenceData) s.createQuery( "from MyEnhancedReferenceData" ).setCacheable( true ).list().get( 0 );
  2. s.getTransaction().commit();
  3. s.close();

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

  1. .setCacheable( true )
  2. .list();
  3. assertEquals( "incorrect result size", 2, results.size() );
  4. long initCacheHits = stats.getCacheHitCount();
  5. results = session.createQuery( "select new Animal(an.description, an.bodyWeight) from Animal an" )
  6. .setCacheable( true )
  7. .list();
  8. assertEquals( "dynamic intantiation query not served from cache", initCacheHits + 1, stats.getCacheHitCount() );

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

  1. protected void setQueryProperties(Query query) {
  2. if ( maxResults != null ) {
  3. query.setMaxResults( maxResults );
  4. }
  5. if ( firstResult != null ) {
  6. query.setFirstResult( firstResult );
  7. }
  8. if ( cacheable != null ) {
  9. query.setCacheable( cacheable );
  10. }
  11. if ( cacheRegion != null ) {
  12. query.setCacheRegion( cacheRegion );
  13. }
  14. if ( comment != null ) {
  15. query.setComment( comment );
  16. }
  17. if ( flushMode != null ) {
  18. query.setFlushMode( flushMode );
  19. }
  20. if ( cacheMode != null ) {
  21. query.setCacheMode( cacheMode );
  22. }
  23. if ( timeout != null ) {
  24. query.setTimeout( timeout );
  25. }
  26. if ( lockOptions != null && lockOptions.getLockMode() != LockMode.NONE ) {
  27. query.setLockMode( REFERENCED_ENTITY_ALIAS, lockOptions.getLockMode() );
  28. }
  29. }

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

  1. .setCacheable( true )
  2. .uniqueResult();
  3. assertTrue( child.getParent().getChildren().contains( child ) );
  4. .setCacheable( true )
  5. .uniqueResult();
  6. assertTrue( child.getParent().getChildren().contains( child ) );

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

  1. List list = s.createQuery( "from Animal a left join fetch a.offspring" ).setCacheable( true ).list();
  2. assertEquals( 0, sessionFactory().getStatistics().getQueryCacheHitCount() );
  3. assertEquals( 1, sessionFactory().getStatistics().getQueryCachePutCount() );
  4. list = s.createQuery( "select a from Animal a left join fetch a.offspring" ).setCacheable( true ).list();
  5. assertEquals( 1, sessionFactory().getStatistics().getQueryCacheHitCount() );
  6. assertEquals( 1, sessionFactory().getStatistics().getQueryCachePutCount() );
  7. list = s.createQuery( "select a, o from Animal a left join a.offspring o" ).setCacheable( true ).list();
  8. assertEquals( 1, sessionFactory().getStatistics().getQueryCacheHitCount() );
  9. assertEquals( 2, sessionFactory().getStatistics().getQueryCachePutCount() );

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

  1. List list = s.createQuery( "from Animal a left join fetch a.mother" ).setCacheable( true ).list();
  2. assertEquals( 0, sessionFactory().getStatistics().getQueryCacheHitCount() );
  3. assertEquals( 1, sessionFactory().getStatistics().getQueryCachePutCount() );
  4. list = s.createQuery( "select a from Animal a left join fetch a.mother" ).setCacheable( true ).list();
  5. assertEquals( 1, sessionFactory().getStatistics().getQueryCacheHitCount() );
  6. assertEquals( 1, sessionFactory().getStatistics().getQueryCachePutCount() );
  7. list = s.createQuery( "select a, m from Animal a left join a.mother m" ).setCacheable( true ).list();
  8. assertEquals( 1, sessionFactory().getStatistics().getQueryCacheHitCount() );
  9. assertEquals( 2, sessionFactory().getStatistics().getQueryCachePutCount() );

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

  1. "where p.name = :name")
  2. .setParameter( "name", "John Doe")
  3. .setCacheable(true)
  4. .list();
  5. "where p.id > :id")
  6. .setParameter( "id", 0L)
  7. .setCacheable(true)
  8. .setCacheRegion( "query.cache.person" )
  9. .list();
  10. "where p.id > :id")
  11. .setParameter( "id", 0L)
  12. .setCacheable(true)
  13. .setCacheRegion( "query.cache.person" )
  14. .setCacheMode( CacheMode.REFRESH )
  15. .setCacheable( true )
  16. .setCacheMode( CacheMode.REFRESH )
  17. .list();

代码示例来源: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: hibernate/hibernate-orm

  1. queryString,
  2. Object[].class
  3. ).setCacheable( true ).uniqueResult();
  4. assertEquals( 2, result.length );
  5. assertTrue( AnEntity.class.isInstance( result[0] ) );
  6. queryString,
  7. Object[].class
  8. ).setCacheable( true ).uniqueResult();
  9. assertEquals( 2, result.length );
  10. assertTrue( AnEntity.class.isInstance( result[0] ) );

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

  1. queryString,
  2. AnEntity.class
  3. ).setCacheable( true ).uniqueResult();
  4. assertNull( anEntity );
  5. queryString,
  6. AnEntity.class
  7. ).setCacheable( true ).uniqueResult();
  8. assertNull( anEntity );

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

  1. queryString,
  2. AnEntity.class
  3. ).setCacheable( true ).uniqueResult();
  4. assertNull( anEntity.otherEntity );
  5. queryString,
  6. AnEntity.class
  7. ).setCacheable( true ).uniqueResult();
  8. assertNull( anEntity.otherEntity );

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

  1. queryString,
  2. AnEntity.class
  3. ).setCacheable( true ).uniqueResult();
  4. assertNull( anEntity.otherEntity );
  5. queryString,
  6. AnEntity.class
  7. ).setCacheable( true ).uniqueResult();
  8. assertNull( anEntity.otherEntity );

相关文章