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

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

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

Query.setHint介绍

暂无

代码示例

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

  1. protected void applyQuerySettingsAndHints(Query query) {
  2. if ( lockOptions.getLockMode() != LockMode.NONE ) {
  3. query.setLockMode( getLockMode( lockOptions.getLockMode() ) );
  4. }
  5. Object queryTimeout;
  6. if ( (queryTimeout = getProperties().get( QueryHints.SPEC_HINT_TIMEOUT ) ) != null ) {
  7. query.setHint( QueryHints.SPEC_HINT_TIMEOUT, queryTimeout );
  8. }
  9. Object lockTimeout;
  10. if( (lockTimeout = getProperties().get( JPA_LOCK_TIMEOUT ))!=null){
  11. query.setHint( JPA_LOCK_TIMEOUT, lockTimeout );
  12. }
  13. }

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

  1. @Test
  2. @TestForIssue( jiraKey = "HHH-11726" )
  3. public void testDistinctPassThroughFalse() {
  4. doInHibernate( this::sessionFactory, session -> {
  5. sqlStatementInterceptor.getSqlQueries().clear();
  6. List<Person> persons = session.createQuery(
  7. "select distinct p from Person p left join fetch p.phones ")
  8. .setHint(QueryHints.HINT_PASS_DISTINCT_THROUGH, false)
  9. .setMaxResults(5)
  10. .getResultList();
  11. assertEquals(1, persons.size());
  12. String sqlQuery = sqlStatementInterceptor.getSqlQueries().getLast();
  13. assertFalse(sqlQuery.contains(" distinct "));
  14. });
  15. }

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

  1. @Test
  2. @TestForIssue( jiraKey = "HHH-11726" )
  3. public void testDistinctPassThroughTrue() {
  4. doInHibernate( this::sessionFactory, session -> {
  5. sqlStatementInterceptor.getSqlQueries().clear();
  6. List<Person> persons = session.createQuery(
  7. "select distinct p from Person p left join fetch p.phones ")
  8. .setHint(QueryHints.HINT_PASS_DISTINCT_THROUGH, true)
  9. .setMaxResults(5)
  10. .getResultList();
  11. assertEquals(1, persons.size());
  12. String sqlQuery = sqlStatementInterceptor.getSqlQueries().getLast();
  13. assertTrue(sqlQuery.contains(" distinct "));
  14. });
  15. }

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

  1. @Test
  2. @TestForIssue( jiraKey = "HHH-12075")
  3. public void testCreateQuerySetTimeoutHint() {
  4. doInHibernate(
  5. this::sessionFactory, session -> {
  6. Query query = session.createQuery( QUERY );
  7. query.setHint( QueryHints.SPEC_HINT_TIMEOUT, 123000 );
  8. query.executeUpdate();
  9. try {
  10. verify( CONNECTION_PROVIDER.getPreparedStatement( QUERY ), times( 1 ) ).setQueryTimeout( 123 );
  11. }
  12. catch (SQLException ex) {
  13. fail( "should not have thrown exception" );
  14. }
  15. }
  16. );
  17. }

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

  1. List<Person> persons = session.createQuery(
  2. "select distinct p from Person p" )
  3. .setHint( QueryHints.HINT_PASS_DISTINCT_THROUGH, false )
  4. .getResultList();
  5. String sqlQuery = sqlStatementInterceptor.getSqlQueries().getLast();

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

  1. /**
  2. * Creates a Query for given HQL query string. Must specify the return
  3. * type of the Query variable.
  4. * @param hql the HQL query.
  5. * @return a Query instance with return type specified in the Query<Y>
  6. */
  7. @SuppressWarnings("unchecked")
  8. protected final <V> Query<V> getTypedQuery( String hql )
  9. {
  10. return getSession()
  11. .createQuery( hql )
  12. .setCacheable( cacheable ).setHint( QueryHints.CACHEABLE, cacheable );
  13. }

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

  1. /**
  2. * Creates a Query for given HQL query string. Return type is casted
  3. * to generic type T of the Store class.
  4. * @param hql the HQL query.
  5. * @return a Query instance with return type is the object type T of the store class
  6. */
  7. @SuppressWarnings("unchecked")
  8. protected final Query<T> getQuery( String hql )
  9. {
  10. return getSession().createQuery( hql )
  11. .setCacheable( cacheable ).setHint( QueryHints.CACHEABLE, cacheable );
  12. }

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

  1. /**
  2. * Get executable Typed Query from Criteria Query.
  3. * Apply cache if needed.
  4. * @param criteriaQuery
  5. * @return executable TypedQuery
  6. */
  7. public final TypedQuery<T> getExecutableTypedQuery( CriteriaQuery<T> criteriaQuery )
  8. {
  9. return getSession()
  10. .createQuery( criteriaQuery )
  11. .setCacheable( cacheable ).setHint( QueryHints.CACHEABLE, cacheable );
  12. }

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

  1. protected void applyQuerySettingsAndHints(Query query) {
  2. if ( lockOptions.getLockMode() != LockMode.NONE ) {
  3. query.setLockMode( getLockMode( lockOptions.getLockMode() ) );
  4. }
  5. Object queryTimeout;
  6. if ( (queryTimeout = getProperties().get( QueryHints.SPEC_HINT_TIMEOUT ) ) != null ) {
  7. query.setHint( QueryHints.SPEC_HINT_TIMEOUT, queryTimeout );
  8. }
  9. Object lockTimeout;
  10. if( (lockTimeout = getProperties().get( JPA_LOCK_TIMEOUT ))!=null){
  11. query.setHint( JPA_LOCK_TIMEOUT, lockTimeout );
  12. }
  13. }

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

  1. .setHint( QueryHints.CACHEABLE, parameters.isCacheable( cacheable ) )
  2. .getSingleResult();

相关文章