2014-03-25 3 views
0

저는 스프링의 최신 버전으로 업그레이드하고 최대 절전 모드로 전환하려고했습니다. 나는 모든 일을 제대로하기 위해 엄청난 문제를 겪고있었습니다.Spring과 Hibernate 업그레이드 중, HibernateTemplate은 null과 ClassCastExceptions과 같습니다.

Java Server Faces 2.0 및 Dynamic Web Library 3.0을 사용하고 있습니다.

그래서 현재 나는 또한 최대 절전 모드를 얻기에 NullPointerException의를 받고있다, 또한

return (getHibernateTemplate().execute(new HibernateCallback<T>() 
    { 
     @Override 
     public T doInHibernate(Session session) throws HibernateException 
     { // The Error 
      Criteria executableCriteria = criteria.getExecutableCriteria(session); 
      return (T) executableCriteria.uniqueResult(); 
     } 
    })); 

전체 STRACK 추적에 내 GenericDao 클래스 에서 java.lang.ClassCastException: com.sun.proxy.$Proxy37 cannot be cast to org.hibernate.engine.spi.SessionImplementor ...

WARNING: #{loginBean.login}: java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor 
javax.faces.FacesException: #{loginBean.login}: java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:315) 
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) 
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.logging.log4j.core.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:66) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: javax.faces.el.EvaluationException: java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101) 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
    ... 33 more 
Caused by: java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor 
    at org.hibernate.criterion.DetachedCriteria.getExecutableCriteria(DetachedCriteria.java:84) 
    at com.xx.hibernate.daos.GenericDao$3.doInHibernate(GenericDao.java:155) 
    at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:340) 
    at org.springframework.orm.hibernate4.HibernateTemplate.execute(HibernateTemplate.java:295) 
    at com.xx.hibernate.daos.GenericDao.findUnique(GenericDao.java:150) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) 
    at com.sun.proxy.$Proxy23.findUnique(Unknown Source) 
    at com.xx.services.UserService.findSalt(UserService.java:69) 
    at com.xx.viewbeans.LoginBean.login(LoginBean.java:34) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.el.parser.AstValue.invoke(AstValue.java:278) 
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) 
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) 
    ... 34 more 

Mrz 25, 2014 9:48:30 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError 
SEVERE: javax.faces.el.EvaluationException: java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101) 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:315) 
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) 
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.logging.log4j.core.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:66) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor 
    at org.hibernate.criterion.DetachedCriteria.getExecutableCriteria(DetachedCriteria.java:84) 
    at com.xx.hibernate.daos.GenericDao$3.doInHibernate(GenericDao.java:155) 
    at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:340) 
    at org.springframework.orm.hibernate4.HibernateTemplate.execute(HibernateTemplate.java:295) 
    at com.xx.hibernate.daos.GenericDao.findUnique(GenericDao.java:150) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) 
    at com.sun.proxy.$Proxy23.findUnique(Unknown Source) 
    at com.xx.services.UserService.findSalt(UserService.java:69) 
    at com.xx.viewbeans.LoginBean.login(LoginBean.java:34) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.el.parser.AstValue.invoke(AstValue.java:278) 
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) 
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) 
    ... 34 more 

무엇입니까 주형.

방금 ​​프로젝트를 maven 프로젝트로 변환하여 라이브러리에 관한 더 나은 개요를 제공했습니다. 나는

<dependencies> 
<dependency> 
    <groupId>antlr</groupId> 
    <artifactId>antlr</artifactId> 
    <version>2.7.7</version> 
</dependency> 
<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk</artifactId> 
    <version>1.7.3</version> 
</dependency> 
<dependency> 
    <groupId>org.bouncycastle</groupId> 
    <artifactId>bcprov-jdk15on</artifactId> 
    <version>1.50</version> 
</dependency> 
<dependency> 
    <groupId>org.primefaces.extensions</groupId> 
    <artifactId>all-themes</artifactId> 
    <version>1.0.8</version> 
</dependency> 
<dependency> 
    <groupId>com.mchange</groupId> 
    <artifactId>c3p0</artifactId> 
    <version>0.9.2.1</version> 
</dependency> 
<dependency> 
    <groupId>commons-beanutils</groupId> 
    <artifactId>commons-beanutils</artifactId> 
    <version>1.7.0</version> 
</dependency> 
<dependency> 
    <groupId>commons-codec</groupId> 
    <artifactId>commons-codec</artifactId> 
    <version>1.3</version> 
</dependency> 
<dependency> 
    <groupId>commons-collections</groupId> 
    <artifactId>commons-collections</artifactId> 
    <version>3.2</version> 
</dependency> 
<dependency> 
    <groupId>commons-dbcp</groupId> 
    <artifactId>commons-dbcp</artifactId> 
    <version>1.4</version> 
</dependency> 
<dependency> 
    <groupId>commons-digester</groupId> 
    <artifactId>commons-digester</artifactId> 
    <version>1.8</version> 
</dependency> 
<dependency> 
    <groupId>commons-discovery</groupId> 
    <artifactId>commons-discovery</artifactId> 
    <version>0.2</version> 
</dependency> 
<dependency> 
    <groupId>tomcat</groupId> 
    <artifactId>commons-el</artifactId> 
    <version>5.5.23</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-email</artifactId> 
    <version>1.3.2</version> 
</dependency> 
<dependency> 
    <groupId>commons-fileupload</groupId> 
    <artifactId>commons-fileupload</artifactId> 
    <version>1.2</version> 
</dependency> 
<dependency> 
    <groupId>commons-httpclient</groupId> 
    <artifactId>commons-httpclient</artifactId> 
    <version>3.1</version> 
</dependency> 
<dependency> 
    <groupId>commons-io</groupId> 
    <artifactId>commons-io</artifactId> 
    <version>1.4</version> 
</dependency> 
<dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.4</version> 
</dependency> 
<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.1.3</version> 
</dependency> 
<dependency> 
    <groupId>commons-net</groupId> 
    <artifactId>commons-net</artifactId> 
    <version>2.0</version> 
</dependency> 
<dependency> 
    <groupId>commons-pool</groupId> 
    <artifactId>commons-pool</artifactId> 
    <version>1.6</version> 
</dependency> 
<dependency> 
    <groupId>commons-validator</groupId> 
    <artifactId>commons-validator</artifactId> 
    <version>1.3.1</version> 
</dependency> 
<dependency> 
    <groupId>dom4j</groupId> 
    <artifactId>dom4j</artifactId> 
    <version>1.6.1</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate.common</groupId> 
    <artifactId>hibernate-commons-annotations</artifactId> 
    <version>4.0.4.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>4.3.4.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>4.3.4.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.2.3</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpcore</artifactId> 
    <version>4.2</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss</groupId> 
    <artifactId>jandex</artifactId> 
    <version>1.1.0.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.javassist</groupId> 
    <artifactId>javassist</artifactId> 
    <version>3.18.1-GA</version> 
</dependency> 
<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.faces</artifactId> 
    <version>2.2.1</version> 
</dependency> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.1.0-RC2</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.logging</groupId> 
    <artifactId>jboss-logging</artifactId> 
    <version>3.1.0.GA</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.logging</groupId> 
    <artifactId>jboss-logging</artifactId> 
    <version>3.1.3.GA</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.logging</groupId> 
    <artifactId>jboss-logging-annotations</artifactId> 
    <version>1.2.0.Beta1</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.spec.javax.transaction</groupId> 
    <artifactId>jboss-transaction-api_1.1_spec</artifactId> 
    <version>1.0.1.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.spec.javax.transaction</groupId> 
    <artifactId>jboss-transaction-api_1.2_spec</artifactId> 
    <version>1.0.0.Final</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.facelets</groupId> 
    <artifactId>jsf-facelets</artifactId> 
    <version>1.1.14</version> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.1.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-1.2-api</artifactId> 
    <version>2.0-rc1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <version>2.0-rc1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.0-rc1</version> 
</dependency> 
<dependency> 
    <groupId>com.mchange</groupId> 
    <artifactId>mchange-commons-java</artifactId> 
    <version>0.2.3.4</version> 
</dependency> 
<dependency> 
    <groupId>org.primefaces</groupId> 
    <artifactId>primefaces</artifactId> 
    <version>4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.6.6</version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-jdk14</artifactId> 
    <version>1.6.6</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aop</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-aspects</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-beans</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context-support</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-expression</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jms</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-messaging</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-orm</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-oxm</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-tx</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc-portlet</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-websocket</artifactId> 
    <version>4.0.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.myfaces.tomahawk</groupId> 
    <artifactId>tomahawk</artifactId> 
    <version>1.1.6</version> 
</dependency> 
다음

내 applicationContext.xml의 일부가 여기에

내 pom.xml 파일입니다 ...이 문제는 내가 사용하고있는 도서관 관련이 있음을 상상할 수

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="configLocation" 
     value="classpath:com/xx/hibernate/mappings/hibernate.cfg.xml" /> 
</bean> 

<bean id="abstractDaoTarget" class="com.xx.hibernate.daos.GenericDao" 
    abstract="true"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

<bean id="abstractDao" class="org.springframework.aop.framework.ProxyFactoryBean" 
    abstract="true" /> 

<bean id="productDao" parent="abstractDao"> 
    <property name="proxyInterfaces" value="com.xx.hibernate.daos.IProductDao" /> 
    <property name="target"> 
     <bean parent="abstractDaoTarget"> 
      <constructor-arg value="com.xx.hibernate.mappings.Product" /> 
     </bean> 
    </property> 
</bean> 

설명으로, 나중에이 클래스 특정 daos를 서비스에 주입하려고합니다. 당신이 할 수있는 경우 즉,

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property> 
     <property name="hibernate.connection.password">pw</property> 
     <property name="hibernate.connection.url">jdbc:mysql://localhost/xx</property> 
     <property name="hibernate.connection.username">root</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> 
     <property name="hibernate.c3p0.min_size">5</property> 
     <property name="hibernate.c3p0.max_size">20</property> 
     <property name="hibernate.c3p0.timeout">300</property> 
     <property name="hibernate.c3p0.max_statements">50</property> 
     <property name="hibernate.c3p0.idle_test_period">3000</property> 

     <mapping resource="com/xx/hibernate/mappings/Battery.hbm.xml" /> 

     ... 
    </session-factory> 
</hibernate-configuration> 

너희들은 나에게 큰 부탁을 할 것

import org.springframework.orm.hibernate4.HibernateCallback; 
import org.springframework.orm.hibernate4.support.HibernateDaoSupport; 

public class GenericDao<T> extends HibernateDaoSupport implements IGenericDao<T>, Serializable { 


@Override 
public void delete(T obj) 
{ 
    getHibernateTemplate().delete(obj); 
} 

최대 절전 모드 설정 ... 최대 절전 모드 3.

그리고 내 GenericDao 클래스의 일부와 함께 잘 작동했다 이 문제로 나를 도와주세요.

다른 내용이 필요하면 알려주십시오.

미리 감사드립니다.

+0

나는 이미 hibernate3의 모든 발생을 hibernate4로 업데이트했다. – kevcodez

+0

프록시를 사용하거나 이끌어내는 구성에 무언가가 있습니까? 나는. 일부 AOP 물건?나는'HibernateTemplate'을 더 이상 사용하지 말고 단순히 Hibernate (2006 년 Hibernate 3.0.1 이후부터!)를 사용하는 것을 권장합니다. –

+0

내가 상상할 수있는 유일한 것은 내 applicationContext의 ProxyFactoryBean입니다 ... 현재 추천 방법은 무엇입니까? – kevcodez

답변

0

M. Deinum이 지적한 것처럼 내 출처는 완전히 구식입니다.

나는 또한, 내 서비스에서 @Transactional 주석을 사용하고 전체 서비스 및 DAO를 ...

 BaseDao<T> implements IBaseDao<T> 
    { 

     private Class<T> type; 

     public BaseDao() 
     { 

     } 

     public BaseDao(Class<T> type) 
     { 
      this.type = type; 
     } 

     private SessionFactory sessionFactory; 

     @Override 
     public void delete(T obj) 
     { 
      getSession().delete(obj); 
     } 

public Session getSession() 
    { 
     Session session = getSessionFactory().getCurrentSession(); 

     if (session == null) 
     { 
      session = getSessionFactory().openSession(); 
     } 

     return session; 
    } 
    ... 

내 ApplicationContext를 ...

<bean id="userDao" class="com.xx.hibernate.daos.UserDao"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean>  

<bean id="userService" class="com.xx.services.UserService"> 
    <property name="dao" ref="userDao" /> 
</bean> 

<tx:annotation-driven transaction-manager="transactionManager" /> 
<bean id="transactionManager" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

를 다시 썼다.

또한 최신 동면 버전으로 내 c3p0 및 eh-cache 라이브러리를 업데이트했습니다.

+0

이것은 동일한 문제로 인해 도움이되지 않았기 때문에 새로운 질문을 열었으며 여기에서 매우 간단한 해결책을 얻었습니다. http://stackoverflow.com/questions/38936931/classcastexception-proxy36-cannot-be-cast-to-sessionimplementor ~ 이후 - 최대 절전 모드 – bdetweiler

관련 문제