Hi,

I am trying to use use hibernate withstruts & mysql

I tried the petclinic example with hibernate it worked.

So now I am trying to do it for the jpetstore example.

I have done following changes in jpetstore

My dataAccessContext-local.xml is as follows
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http&#58;//www.springframework.org/dtd/spring-beans.dtd">


<beans>

   <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="/WEB-INF/jdbc.properties"/>
       
    </bean>
 
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        
        <property name="mappingResources">
            <value>petstore.hbm.xml</value>
        </property>
        
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">$&#123;hibernate.dialect&#125;</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.generate_statistics">true</prop>
            </props>
        </property>


        <property name="eventListeners">
            <map>
                <entry key="merge">
                    <bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
                </entry>
            </map>
        </property>
 
    </bean>   

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>


    <!-- ========================= RESOURCE DEFINITIONS ========================= -->
    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="$&#123;jdbc.driverClassName&#125;"/>
        <property name="url" value="$&#123;jdbc.url&#125;"/>
        <property name="username" value="$&#123;jdbc.username&#125;"/>
        <property name="password" value="$&#123;jdbc.password&#125;"/>
    </bean>
    
    
   <!-- 
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
   -->
    


    <!-- ========================= DAO DEFINITIONS&#58; IBATIS IMPLEMENTATIONS ========================= -->

    <bean id="accountDao" class="org.springframework.samples.jpetstore.dao.hibernate.HibernateImplAccountDao">
        <property  name="sessionFactory" ref="sessionFactory"  />  

    </bean>

</beans>
My application-Context-hibernate.xml is as follows
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http&#58;//www.springframework.org/dtd/spring-beans.dtd">

<beans>

    <!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= -->
<bean id="accountValidator" class="org.springframework.samples.jpetstore.domain.logic.AccountValidator"/>

<bean id="orderValidator" class="org.springframework.samples.jpetstore.domain.logic.OrderValidator"/>

    <bean id="petStore" parent="store">
        <property name="target">
            <bean class="org.springframework.samples.jpetstore.domain.logic.PetStoreImpl">
                <property name="accountDao" ref="accountDao"/>               
            </bean>
        </property>
     </bean>

    <bean id="store" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager" ref="transactionManager"/>            
          <property name="transactionAttributes">
            <props>
                <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="store*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>

    <bean name="petclinic&#58;service=hibernateStatistics" class="org.hibernate.jmx.StatisticsService">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <!-- ========================= JMX EXPORTER DEFINITION ========================= -->
 
    <bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter">
        <property name="autodetect" value="true"/>
    </bean>

</beans>
But I am getting following error while the beans getting loaded in the jakarta-tomcat-5.5.9 screen

SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/dataAccessContext-local.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.ja va:2365)
at java.lang.Class.getDeclaredMethods(Class.java:1763 )
at java.beans.Introspector$1.run(Introspector.java:12 59)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(I ntrospector.java:1257)
at java.beans.Introspector.getTargetMethodInfo(Intros pector.java:1125)
at java.beans.Introspector.getBeanInfo(Introspector.j ava:383)
at java.beans.Introspector.getBeanInfo(Introspector.j ava:155)
at org.springframework.beans.CachedIntrospectionResul ts.<init>(CachedIntrospectionResults.java:140)
at org.springframework.beans.CachedIntrospectionResul ts.forClass(CachedIntrospectionResults.java:82)
at org.springframework.beans.BeanWrapperImpl.setIntro spectionClass(BeanWrapperImpl.java:370)
at org.springframework.beans.BeanWrapperImpl.setWrapp edInstance(BeanWrapperImpl.java:328)
at org.springframework.beans.BeanWrapperImpl.setWrapp edInstance(BeanWrapperImpl.java:310)
at org.springframework.beans.BeanWrapperImpl.<init>(B eanWrapperImpl.java:192)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:327)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:270)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:312)
at org.springframework.web.context.support.AbstractRe freshableWebApplicationContext.refresh(AbstractRef reshableWebApplicationContext.java:134)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:230)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:156)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 48)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3669)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4104)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:788)
at org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:677)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:473)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1102)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:409)
Oct 6, 2005 10:50:46 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Oct 6, 2005 10:50:46 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/jpetstore] startup failed due to previous errors
Oct 6, 2005 10:50:47 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Oct 6, 2005 10:50:47 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Oct 6, 2005 10:50:47 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/31 config=null
Oct 6, 2005 10:50:47 AM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Oct 6, 2005 10:50:47 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 12171 ms
Oct 6, 2005 11:02:47 AM org.apache.catalina.startup.HostConfig checkResources
INFO: Reloading context [/jpetstore]
Oct 6, 2005 11:15:57 AM org.apache.catalina.core.StandardContext stop
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/jpetstore] has not been started
Oct 6, 2005 11:15:59 AM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
Oct 6, 2005 11:15:59 AM org.springframework.beans.factory.xml.XmlBeanDefin itionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dataAccessContext-local.xml]
Oct 6, 2005 11:15:59 AM org.springframework.core.CollectionFactory <clinit>
INFO: JDK 1.4+ collections available
Oct 6, 2005 11:15:59 AM org.springframework.core.CollectionFactory <clinit>
INFO: Commons Collections 3.x available
Oct 6, 2005 11:15:59 AM org.springframework.beans.factory.xml.XmlBeanDefin itionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]
Oct 6, 2005 11:15:59 AM org.springframework.context.support.AbstractRefres hableApplicationContext refreshBeanFactory
INFO: Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultL istableBeanFactory defining beans [propertyConfigurer,sessionFactory,transactionManag er,dataSource,accountDao,accountValidator,orderVal idator,petStore,store,petclinic:service=hibernateS tatistics,jmxExporter]; root of BeanFactory hie
Oct 6, 2005 11:16:00 AM org.springframework.context.support.AbstractApplic ationContext refresh
INFO: 11 beans defined in application context [Root WebApplicationContext]
Oct 6, 2005 11:16:00 AM org.springframework.beans.factory.support.Abstract BeanFactory getBean
INFO: Creating shared instance of singleton bean 'propertyConfigurer'
Oct 6, 2005 11:16:00 AM org.springframework.core.io.support.PropertiesLoad erSupport loadProperties
INFO: Loading properties file from ServletContext resource [/WEB-INF/jdbc.properties]
Oct 6, 2005 11:16:00 AM org.springframework.context.support.AbstractApplic ationContext initMessageSource
INFO: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMess ageSource@979f67]
Oct 6, 2005 11:16:00 AM org.springframework.context.support.AbstractApplic ationContext initApplicationEventMulticaster
INFO: Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicatio nEventMulticaster@d12eea]
Oct 6, 2005 11:16:00 AM org.springframework.ui.context.support.UiApplicati onContextUtils initThemeSource
INFO: No ThemeSource found for [Root WebApplicationContext]: using ResourceBundleThemeSource
Oct 6, 2005 11:16:00 AM org.springframework.beans.factory.support.DefaultL istableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultL istableBeanFactory defining beans [propertyConfigurer,sessionFactory,transactionManag er,dataSource,accountDao,accountValidator,orderVal idator,petStore,store,petclinic:service=hibernateS tatistics,jmxExporter]; root of BeanFactory hierarchy]
Oct 6, 2005 11:16:00 AM org.springframework.beans.factory.support.Abstract BeanFactory getBean
INFO: Creating shared instance of singleton bean 'sessionFactory'
Oct 6, 2005 11:16:00 AM org.springframework.beans.factory.support.Abstract BeanFactory destroySingletons
INFO: Destroying singletons in factory {org.springframework.beans.factory.support.Default ListableBeanFactory defining beans [propertyConfigurer,sessionFactory,transactionManag er,dataSource,accountDao,accountValidator,orderVal idator,petStore,store,petclinic:service=hibernateS tatistics,jmxExporter]; root of BeanFactory hierarchy}
Oct 6, 2005 11:16:00 AM org.springframework.web.context.ContextLoader initWebApplicationContext
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/dataAccessContext-local.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.ja va:2365)
at java.lang.Class.getDeclaredMethods(Class.java:1763 )
at java.beans.Introspector$1.run(Introspector.java:12 59)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(I ntrospector.java:1257)
at java.beans.Introspector.getTargetMethodInfo(Intros pector.java:1125)
at java.beans.Introspector.getBeanInfo(Introspector.j ava:383)
at java.beans.Introspector.getBeanInfo(Introspector.j ava:155)
at org.springframework.beans.CachedIntrospectionResul ts.<init>(CachedIntrospectionResults.java:140)
at org.springframework.beans.CachedIntrospectionResul ts.forClass(CachedIntrospectionResults.java:82)
at org.springframework.beans.BeanWrapperImpl.setIntro spectionClass(BeanWrapperImpl.java:370)
at org.springframework.beans.BeanWrapperImpl.setWrapp edInstance(BeanWrapperImpl.java:328)
at org.springframework.beans.BeanWrapperImpl.setWrapp edInstance(BeanWrapperImpl.java:310)
at org.springframework.beans.BeanWrapperImpl.<init>(B eanWrapperImpl.java:192)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:327)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:270)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:312)
at org.springframework.web.context.support.AbstractRe freshableWebApplicationContext.refresh(AbstractRef reshableWebApplicationContext.java:134)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:230)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:156)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 48)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3669)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4104)
at org.apache.catalina.startup.HostConfig.checkResour ces(HostConfig.java:1069)
at org.apache.catalina.startup.HostConfig.check(HostC onfig.java:1162)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundP rocess(ContainerBase.java:1304)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren(ContainerBase.ja va:1568)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren(ContainerBase.ja va:1577)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.run(ContainerBase.java:1557)
at java.lang.Thread.run(Thread.java:595)
Oct 6, 2005 11:16:00 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Oct 6, 2005 11:16:00 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/jpetstore] startup failed due to previous errors


Note
I am getting error while creating bean with name 'sessionFactory'.


Any help regarding the same would be highly appreciated.