Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 偶尔出现异常org.hibernate.QueryException:无法解析属性_Java_Multithreading_Spring_Hibernate_High Load - Fatal编程技术网

Java 偶尔出现异常org.hibernate.QueryException:无法解析属性

Java 偶尔出现异常org.hibernate.QueryException:无法解析属性,java,multithreading,spring,hibernate,high-load,Java,Multithreading,Spring,Hibernate,High Load,问题: 在高负载下的web应用程序中,有时,当在不同的线程(在同一毫秒内)中同时有两个Hibernate查询时,我们有两个异常(在两个线程中):“org.Hibernate.QueryException:无法解析属性”在不同的实体和不同的属性上。 看起来两个查询出于某种原因交换了它们的属性映射,因此AbstractPropertyMapping类无法在其他查询的实体的映射中找到所需的属性,并引发QueryException。每个实体仅在一个线程中使用 环境: <!-- Configurat

问题: 在高负载下的web应用程序中,有时,当在不同的线程(在同一毫秒内)中同时有两个Hibernate查询时,我们有两个异常(在两个线程中):“org.Hibernate.QueryException:无法解析属性”在不同的实体和不同的属性上。 看起来两个查询出于某种原因交换了它们的属性映射,因此AbstractPropertyMapping类无法在其他查询的实体的映射中找到所需的属性,并引发QueryException。每个实体仅在一个线程中使用

环境:

<!-- Configuration -->

...
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    <property name="nestedTransactionAllowed" value="true" />
</bean>

<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
    <property name="transactionManager" ref="transactionManager"/>
</bean>

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />       
        <property name="packagesToScan">            
            <list>                
              <value>com.delta.invest.domain</value>                             
            </list>        
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.connection.charSet">UTF-8</prop>

                <!-- For debuging purposes -->
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.use_sql_comments">true</prop>

                <!-- @see: http://community.jboss.org/wiki/HibernateCoreMigrationGuide36 -->
                <prop key="hibernate.jdbc.use_streams_for_binary">false</prop>

                <!-- For batch inserts -->
                <prop key="hibernate.jdbc.batch_size">20</prop>
                <prop key="hibernate.order_inserts">true</prop>
                <prop key="hibernate.order_updates">true</prop>             
                <prop key="hibernate.jdbc.batch_versioned_data">true</prop>
                <!-- prop key="hibernate.cache.use_second_level_cache">false</prop-->

                <!-- Second-level cache -->
                <prop key="hibernate.cache.use_second_level_cache">true</prop>
                <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
                <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>

                <!-- Autoregister Joda types -->
                <prop key="jadira.usertype.autoRegisterUserTypes">true</prop>

                <!-- Turn off domain classes validation -->
                <prop key="javax.persistence.validation.mode">none</prop>

                <!-- Set TRANSACTION_READ_COMMITTED isolation level -->
                <prop key="hibernate.connection.isolation">2</prop>



            </props>
        </property>
    </bean>

...
Caused by: org.hibernate.QueryException: could not resolve property: accountTo of: com.delta.invest.domain.entity.core.A
ccountEntry
        at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)
        at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:77)
        at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1978)
        at org.hibernate.loader.criteria.EntityCriteriaInfoProvider.getType(EntityCriteriaInfoProvider.java:57)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.getPathInfo(CriteriaQueryTranslator.java:245)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.createCriteriaEntityNameMap(CriteriaQueryTranslator.jav
a:229)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.<init>(CriteriaQueryTranslator.java:112)
        at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:88)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1663)
        at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
        at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:402)
        at com.delta.invest.dao.kernel.SelectionDAOImpl.getCount(SelectionDAOImpl.java:216)
        at com.delta.invest.service.SelectionServiceImpl.getRowCountByCriteria(SelectionServiceImpl.java:406)
        at com.delta.invest.service.SelectionServiceImpl.getSize(SelectionServiceImpl.java:185)
        at sun.reflect.GeneratedMethodAccessor422.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:262)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy99.getSize(Unknown Source)
        at com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
        at com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
        at com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:262)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy99.getSize(Unknown Source)
        at com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
        at com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
        at com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.
java:122)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at net.bull.javamelody.MonitoringSpringInterceptor.invoke(MonitoringSpringInterceptor.java:73)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy220.getDocumentsHistoryForOperator(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
        ... 91 more
@Repository(value="selectionDAO")
public class SelectionDAOImpl implements SelectionDAO
{

    ...

    @Autowired
    private SessionFactory sessionFactory;  

    ...
    public <Entity> List<Entity> list( Class<Entity> entityClass, final DetachedCriteria detachedCriteria,
                                     final int firstResult, final int maxResults )
    {

        Criteria criteria = detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession());
        if ( firstResult > 0 ) { criteria.setFirstResult( firstResult ); }
        if ( maxResults > 0 ) { criteria.setMaxResults( maxResults ); }

        return (List<Entity>) criteria.list();
    }

    public Long getCount( final DetachedCriteria detachedCriteria )
    {
        return (Long) detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession()).setProjection( Projections.rowCount() ).uniqueResult();
    }

    ...
}   
  • ApacheTomcat7
  • 春季4.0.6
  • Hibernate 4.3.6.1最终版本
配置:

<!-- Configuration -->

...
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    <property name="nestedTransactionAllowed" value="true" />
</bean>

<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
    <property name="transactionManager" ref="transactionManager"/>
</bean>

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />       
        <property name="packagesToScan">            
            <list>                
              <value>com.delta.invest.domain</value>                             
            </list>        
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.connection.charSet">UTF-8</prop>

                <!-- For debuging purposes -->
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.use_sql_comments">true</prop>

                <!-- @see: http://community.jboss.org/wiki/HibernateCoreMigrationGuide36 -->
                <prop key="hibernate.jdbc.use_streams_for_binary">false</prop>

                <!-- For batch inserts -->
                <prop key="hibernate.jdbc.batch_size">20</prop>
                <prop key="hibernate.order_inserts">true</prop>
                <prop key="hibernate.order_updates">true</prop>             
                <prop key="hibernate.jdbc.batch_versioned_data">true</prop>
                <!-- prop key="hibernate.cache.use_second_level_cache">false</prop-->

                <!-- Second-level cache -->
                <prop key="hibernate.cache.use_second_level_cache">true</prop>
                <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
                <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>

                <!-- Autoregister Joda types -->
                <prop key="jadira.usertype.autoRegisterUserTypes">true</prop>

                <!-- Turn off domain classes validation -->
                <prop key="javax.persistence.validation.mode">none</prop>

                <!-- Set TRANSACTION_READ_COMMITTED isolation level -->
                <prop key="hibernate.connection.isolation">2</prop>



            </props>
        </property>
    </bean>

...
Caused by: org.hibernate.QueryException: could not resolve property: accountTo of: com.delta.invest.domain.entity.core.A
ccountEntry
        at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)
        at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:77)
        at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1978)
        at org.hibernate.loader.criteria.EntityCriteriaInfoProvider.getType(EntityCriteriaInfoProvider.java:57)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.getPathInfo(CriteriaQueryTranslator.java:245)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.createCriteriaEntityNameMap(CriteriaQueryTranslator.jav
a:229)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.<init>(CriteriaQueryTranslator.java:112)
        at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:88)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1663)
        at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
        at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:402)
        at com.delta.invest.dao.kernel.SelectionDAOImpl.getCount(SelectionDAOImpl.java:216)
        at com.delta.invest.service.SelectionServiceImpl.getRowCountByCriteria(SelectionServiceImpl.java:406)
        at com.delta.invest.service.SelectionServiceImpl.getSize(SelectionServiceImpl.java:185)
        at sun.reflect.GeneratedMethodAccessor422.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:262)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy99.getSize(Unknown Source)
        at com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
        at com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
        at com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:262)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy99.getSize(Unknown Source)
        at com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
        at com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
        at com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.
java:122)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at net.bull.javamelody.MonitoringSpringInterceptor.invoke(MonitoringSpringInterceptor.java:73)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy220.getDocumentsHistoryForOperator(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
        ... 91 more
@Repository(value="selectionDAO")
public class SelectionDAOImpl implements SelectionDAO
{

    ...

    @Autowired
    private SessionFactory sessionFactory;  

    ...
    public <Entity> List<Entity> list( Class<Entity> entityClass, final DetachedCriteria detachedCriteria,
                                     final int firstResult, final int maxResults )
    {

        Criteria criteria = detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession());
        if ( firstResult > 0 ) { criteria.setFirstResult( firstResult ); }
        if ( maxResults > 0 ) { criteria.setMaxResults( maxResults ); }

        return (List<Entity>) criteria.list();
    }

    public Long getCount( final DetachedCriteria detachedCriteria )
    {
        return (Long) detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession()).setProjection( Projections.rowCount() ).uniqueResult();
    }

    ...
}   

...
com.delta.invest.domain
org.hibernate.dialogue.PostgreSqlDialogue
UTF-8
假的
真的
真的
假的
20
真的
真的
真的
真的
org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
ehcache.xml
真的
没有一个
2.
...
第一个线程中出现异常:

<!-- Configuration -->

...
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    <property name="nestedTransactionAllowed" value="true" />
</bean>

<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
    <property name="transactionManager" ref="transactionManager"/>
</bean>

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />       
        <property name="packagesToScan">            
            <list>                
              <value>com.delta.invest.domain</value>                             
            </list>        
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.connection.charSet">UTF-8</prop>

                <!-- For debuging purposes -->
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.use_sql_comments">true</prop>

                <!-- @see: http://community.jboss.org/wiki/HibernateCoreMigrationGuide36 -->
                <prop key="hibernate.jdbc.use_streams_for_binary">false</prop>

                <!-- For batch inserts -->
                <prop key="hibernate.jdbc.batch_size">20</prop>
                <prop key="hibernate.order_inserts">true</prop>
                <prop key="hibernate.order_updates">true</prop>             
                <prop key="hibernate.jdbc.batch_versioned_data">true</prop>
                <!-- prop key="hibernate.cache.use_second_level_cache">false</prop-->

                <!-- Second-level cache -->
                <prop key="hibernate.cache.use_second_level_cache">true</prop>
                <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</prop>
                <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>

                <!-- Autoregister Joda types -->
                <prop key="jadira.usertype.autoRegisterUserTypes">true</prop>

                <!-- Turn off domain classes validation -->
                <prop key="javax.persistence.validation.mode">none</prop>

                <!-- Set TRANSACTION_READ_COMMITTED isolation level -->
                <prop key="hibernate.connection.isolation">2</prop>



            </props>
        </property>
    </bean>

...
Caused by: org.hibernate.QueryException: could not resolve property: accountTo of: com.delta.invest.domain.entity.core.A
ccountEntry
        at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)
        at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:77)
        at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1978)
        at org.hibernate.loader.criteria.EntityCriteriaInfoProvider.getType(EntityCriteriaInfoProvider.java:57)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.getPathInfo(CriteriaQueryTranslator.java:245)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.createCriteriaEntityNameMap(CriteriaQueryTranslator.jav
a:229)
        at org.hibernate.loader.criteria.CriteriaQueryTranslator.<init>(CriteriaQueryTranslator.java:112)
        at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:88)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1663)
        at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
        at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:402)
        at com.delta.invest.dao.kernel.SelectionDAOImpl.getCount(SelectionDAOImpl.java:216)
        at com.delta.invest.service.SelectionServiceImpl.getRowCountByCriteria(SelectionServiceImpl.java:406)
        at com.delta.invest.service.SelectionServiceImpl.getSize(SelectionServiceImpl.java:185)
        at sun.reflect.GeneratedMethodAccessor422.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:262)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy99.getSize(Unknown Source)
        at com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
        at com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
        at com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec
tSupport.java:262)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy99.getSize(Unknown Source)
        at com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
        at com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
        at com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.
java:122)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at net.bull.javamelody.MonitoringSpringInterceptor.invoke(MonitoringSpringInterceptor.java:73)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
        at com.sun.proxy.$Proxy220.getDocumentsHistoryForOperator(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
        ... 91 more
@Repository(value="selectionDAO")
public class SelectionDAOImpl implements SelectionDAO
{

    ...

    @Autowired
    private SessionFactory sessionFactory;  

    ...
    public <Entity> List<Entity> list( Class<Entity> entityClass, final DetachedCriteria detachedCriteria,
                                     final int firstResult, final int maxResults )
    {

        Criteria criteria = detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession());
        if ( firstResult > 0 ) { criteria.setFirstResult( firstResult ); }
        if ( maxResults > 0 ) { criteria.setMaxResults( maxResults ); }

        return (List<Entity>) criteria.list();
    }

    public Long getCount( final DetachedCriteria detachedCriteria )
    {
        return (Long) detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession()).setProjection( Projections.rowCount() ).uniqueResult();
    }

    ...
}   
原因:org.hibernate.QueryException:无法解析属性:accountTo of:com.delta.invest.domain.entity.core.A
会计中心
位于org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)
位于org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:77)
位于org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1978)
位于org.hibernate.loader.criteria.EntityCriteriaInfoProvider.getType(EntityCriteriaInfoProvider.java:57)
位于org.hibernate.loader.CriteriaQueryTranslator.getPathInfo(CriteriaQueryTranslator.java:245)
在org.hibernate.loader.CriteriaQueryTranslator.createCriteriaEntityNameMap(CriteriaQueryTranslator.jav
a:229)
位于org.hibernate.loader.CriteriaQueryTranslator。(CriteriaQueryTranslator.java:112)
位于org.hibernate.loader.criteria.CriteriaLoader.(CriteriaLoader.java:88)
位于org.hibernate.internal.SessionImpl.list(SessionImpl.java:1663)
位于org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
位于org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:402)
位于com.delta.invest.dao.kernel.SelectionDAOImpl.getCount(SelectionDAOImpl.java:216)
位于com.delta.invest.service.SelectionServiceImpl.getRowCountByCriteria(SelectionServiceImpl.java:406)
位于com.delta.invest.service.SelectionServiceImpl.getSize(SelectionServiceImpl.java:185)
位于sun.reflect.GeneratedMethodAccessor422.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
位于org.springframework.transaction.interceptor.TransactionSpectSupport.invokeWithinTransaction(TransactionSpec
tSupport.java:262)
位于org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
位于com.sun.proxy.$Proxy99.getSize(未知源)
位于com.delta.invest.service.PageSelectionServiceImpl.getSize(PageSelectionServiceImpl.java:60)
位于com.delta.invest.paging.PagingCollection.size(PagingCollection.java:64)
位于com.delta.invest.ws.document.DocumentWebServiceImpl.getDocumentsHistoryForOperator(DocumentWebServiceImpl.jav
a:344)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce
ptor.java:98)
位于org.springframework.transaction.interceptor.TransactionSpectSupport.invokeWithinTransaction(TransactionSpec
tSupport.java:262)
位于org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.Jdk