I have been trying to integrate Hibernate with
spring. These are probably more suited to the spring forum but I thought I would
ask here in case someone has already been thru the same thing.
I was following the examples on: http://www.hibernate.org/110.html as
well as the sample configs in 'webapp-typical'.
I basically have 2 issues.
1) JNDI... Is there a lot of benefit to using the
JNDI implementation vs just using a local one such as (which seems to work
fine):
It seems very complicated to set it up for Tomcat..
or at least many ppl have been having trouble says google.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
<bean id="myDataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"> <value>org.postgresql.Driver</value> </property> <property name="url"> <value>jdbc:postgresql://myhost/mydb</value> </property> <property name="username"> <value>user</value> </property> <property name="password"> <value>password</value> </property> </bean> -------------------------------------------------------------------------------------------------------------------------------------------------------------
2) I have not been able to get the session factory
configuration working at all. When I put the following in my
applicationContext-hibernate.xml, tomcat just throws an error.
--------------------------------------------------------
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="mappingResources"> <list> <value>myproduct.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">net.sf.hibernate.dialect.PostgreSQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> ----------------------------------------------------------
2004-01-04 02:29:03 Loading root
WebApplicationContext
2004-01-04 02:29:03 StandardContext[/dsz]: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableException at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:250) at java.net.URLClassLoader.access$100(URLClassLoader.java:54) at java.net.URLClassLoader$1.run(URLClassLoader.java:193) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at org.apache.catalina.loader.StandardClassLoader.findClass(StandardClassLoader.java:621) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:958) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:941) at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1429) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:1627) at java.lang.Class.getDeclaredMethods(Class.java:1114) at java.beans.Introspector$1.run(Introspector.java:1103) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1101) at java.beans.Introspector.getTargetMethodInfo(Introspector.java:966) at java.beans.Introspector.getBeanInfo(Introspector.java:370) at java.beans.Introspector.getBeanInfo(Introspector.java:144) at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:83) at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:49) at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:195) at org.springframework.beans.BeanWrapperImpl.<init>(BeanWrapperImpl.java:175) at org.springframework.beans.factory.support.AbstractBeanFactory.createBean(AbstractBeanFactory.java:454) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:211) at org.springframework.beans.factory.support.AbstractBeanFactory.isSingleton(AbstractBeanFactory.java:263) at org.springframework.context.support.AbstractApplicationContext.isSingleton(AbstractApplicationContext.java:481) at org.springframework.context.support.AbstractApplicationContext.preInstantiateSingletons(AbstractApplicationContext.java:354) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:241) at org.springframework.web.context.support.XmlWebApplicationContext.setServletContext(XmlWebApplicationContext.java:124) at org.springframework.web.context.ContextLoader.initContext(ContextLoader.java:58) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:29) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3269) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3598) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579) at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:307) at org.apache.catalina.core.StandardHost.install(StandardHost.java:772) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:559) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:401) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:358) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196) at org.apache.catalina.core.StandardHost.start(StandardHost.java:738) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347) at org.apache.catalina.core.StandardService.start(StandardService.java:497) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190) at org.apache.catalina.startup.Catalina.start(Catalina.java:512) at org.apache.catalina.startup.Catalina.execute(Catalina.java:400) at org.apache.catalina.startup.Catalina.process(Catalina.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203) 2004-01-04 02:29:03 StandardContext[/dsz]: Context
startup failed due to previous errors
------------------------------------------------------------
The error doesn't really tell me much.
Doesn't seem to have a nested error. The ClassNotFound is irrelevant, as I
confirmed that it is finding the class by 'fudging' the config
with << ...
'class="org.springframework.orm.hibernate.DUMMYLocalSessionFactoryBean'
>>; which explicitly reports that it can't find
DUMMYLocalSessionFactoryBean' So I am at a loss? Am I missing something
obvious?
Note: I am using hibernate2.1.beta5 and
spring-framework-1.0-m3
|