2012-10-08 145 views
0

我使用Mule Studio版本:1.3.1。Mule与JPA的兼容性

创建日期:201209061215

我不能够得到JPA终点。我也下载了jpa-connector-1.0-20120925-2201.jar 但我不知道要与骡子工作室整合。

因此,我决定使用一个简单的Java转换器并编写我的处理逻辑,它将在内部使用JPA/Hibernate。

我知道我必须为Spring使用JPA供应商适配器,否则我的服务中没有任何DAO类将被实例化。

我已经声明了一个数据源和entityManager作为弹簧里面的mule流xml所示。

<spring:bean id="dataSource" 
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
       <spring:property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
       <spring:property name="url" value="jdbc:mysql://localhost:3306/eigDB" /> 
       <spring:property name="username" value="root" /> 
       <spring:property name="password" value="tiger" /> 
     </spring:bean> 

     <spring:bean id="entityManagerFactory" 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <spring:property name="dataSource" ref="dataSource" /> 
     <spring:property name="persistenceUnitName" value="autoRebateSystem" /> 
     <spring:property name="jpaVendorAdapter"> 
      <spring:bean 
       class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
       <spring:property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" /> 
       <spring:property name="showSql" value="true" /> 
      </spring:bean> 

但是mule flow xml无法识别任何类的spring框架。 发现很难替换这些类名。

Plez为我的问题提供了解决方案, 通过让我知道mule studio的PROPER替代品。

1) org.springframework.jdbc.datasource.DriverManagerDataSource 
2) org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean 
3) org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter 
+1

当你谈论的JPA你指的是在一个可以在这里找到:HTTP://代码。 google.com/p/mule-transport-jpa/? – genjosanzo

回答

1

你缺少使用HibernateJpaDialectJpaTransactionManager; 我希望以下配置会有用。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
    <property name="url" value="jdbc:mysql://localhost:3306/yourdatabase"/> 
    <property name="username" value="your- username"/> 
    <property name="password" value="your- password"/> 
</bean> 

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
    <property name="entityManagerFactory" ref="entityManagerFactory"/> 
</bean> 


<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
<!--<property name="dataSource" ref="dataSource"/>--> 
    <property name="persistenceUnitName" value="<your-persistunit-name>"/> 
    <property name="jpaVendorAdapter" ref="jpaVendorAdapter"/> 
    <property name="jpaDialect"> 
     <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect/> 
    </property> 
    <property name="loadTimeWeaver"> 
     <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"> 
     </bean> 
    </property> 
</bean> 

<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
    <property name="databasePlatform" value="org.eclipse.persistence.platform.database.MySQLPlatform"/> 
<!--  <property name="databasePlatform" value="org.eclipse.persistence.platform.database.OraclePlatform" />--> 
    <property name="generateDdl" value="false"/> 
    <property name="showSql" value="false"/> 
</bean>