0

我使用 Mule Studio 版本: 1.3.1 。

建造日期:201209061215

我无法获得 JPA 端点。我也下载jpa-connector-1.0-20120925-2201.jar 了但我不知道要与mule studio集成。

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

我开始知道我必须为 spring 使用 JPA 供应商适配器,否则我的任何服务都不会被实例化,DAO 类将被实例化。

如图所示,我已将数据源和 entityManager 声明为 mule flow xml 中的 spring bean。

<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 为我的问题提供了解决方案,让我知道骡工作室的正确替代品。

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

2 回答 2

1

要将其集成到 MuleStudio 中,请在 MuleStudio 中添加此更新站点:

http://tecnologia.2020mobile.es/jpa-cloud-connector/update-site/

于 2013-01-08T13:12:25.373 回答
1

您是否缺少使用HibernateJpaDialectand JpaTransactionManager; 我希望下面的配置会有用。

<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>
于 2012-10-19T09:01:03.590 回答