applicationContext.xml 贴出来sessionFactory0 配置有问题

解决方案 »

  1.   

    配置如下:
    -----------------------------------------------------------------------<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>
        <bean id="dataSource0" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName"> 
                <value>com.mysql.jdbc.Driver</value>
            </property>
            <property name="url"> 
                <value>jdbc:mysql://localhost:3306/test</value>
            </property> 
            <property name="username">
                <value>root</value> 
            </property>
            <property name="password">
                <value/> 
            </property>
        </bean>
        <!-- Hibernate SessionFactory -->     <bean id="sessionFactory0" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="dataSource"> 
                <ref local="dataSource0"/>
            </property>
            <property name="mappingLocations">   
               <value>classpath*:/org/jbpm/**/*.hbm.xml</value>  
               </property> 
            <property name="hibernateProperties">  
               <props>  
                   <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
                   <prop key="hibernate.hbm2ddl.auto">update</prop>
                   <prop key="hibernate.jdbc.batch_size">0</prop> 
               </props>
           </property> 
        </bean> 
        <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
            <property name="sessionFactory">
                <ref local="sessionFactory0"/> 
            </property>
        </bean>
        
        <!-- reading jBPM process definitions --> 
        <bean id="websaleWorkflow1" class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">
            <property name="definitionLocation"    value="processdefinition.xml"/> 
        </bean>
        <!-- jBPM configuration--> 
        <bean id="jbpmConfiguration" class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">         <property name="sessionFactory" ref="sessionFactory0"/>
            <property name="configuration" value="jbpm.cfg.xml"/> 
            <property name="processDefinitions">
                <list>
                    <ref local="websaleWorkflow1"/> 
                </list>
            </property>
            <property name="createSchema" value="true"/> 
        </bean>
        <!-- jBPM template -->
        <bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate"> 
            <constructor-arg index="0" ref="jbpmConfiguration"/>
            <constructor-arg index="1" ref="websaleWorkflow1"/> 
        </bean></beans>
    ------------------------------------------------
      

  2.   

    我分析了一下 ,
    错误信息为:
    -------------------------------------------------
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory0' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.DuplicateMappingException: Duplicate collection role mapping org.jbpm.identity.Group.children
    org.hibernate.DuplicateMappingException: Duplicate collection role mapping org.jbpm.identity.Group.children
    -------------------------------------------------大概的意思是在初始化 bean(sessionFactory0)的时候出错,错误信息由spring 抛出,但错误信息是hibernate的异常.
    "sessionFactory0" 还是"sessionFactory" 应该问题不大,
    毕竟只是一个引用名字而已,.
    还有一个信息是,我在单独使用jbpm测试的时候,
    是没有任何问题的.hibernate可以正确加载.
    刚才我换了 jdk1.6,
    结果还是相同的错误
      

  3.   

    原来我的 jdk是  1.4的
      

  4.   

    检查你的mapping文件org.jbpm.identity.Group.children的配置
      

  5.   

    问题 ,解决了 ,
    问题出在 :        <property name="mappingLocations">   
               <value>classpath*:/org/jbpm/**/*.hbm.xml</value>  
               </property> 
    我在 工程里面 了 编译好的类包 和源文件包,
    所以系统就加载配置文件两次,就 报那个 
     Duplicate collection role mapping 
    的错误 ,
    把 重复的包去掉,问题解决 。谢谢楼上的。