【问题标题】:Mule JPA module with Hibernate带有 Hibernate 的 Mule JPA 模块
【发布时间】:2015-08-21 22:35:40
【问题描述】:

尝试在 Mule 中使用 Hibernate 实现 Mule 模块 JPA,但无法使用 .当我签入数据库时​​,没有插入任何值。我引用了此链接,但无法实施此链接中给出的解决方案,Mule JPA persist is not inserting or updating

有人可以详细说明或提供其他建议吗?谢谢。

<code>
   <spring:beans>
    <spring:import resource="classpath:Spring/applicationContext.xml" />
    </spring:beans>
       <spring:beans>
<spring:bean id="myBean" class="org.Location">
 </spring:bean>
     <spring:bean class="org.springframework.orm.jpa.JpaTransactionManager"
          id="transactionManager">
        <spring:property name="entityManagerFactory" ref="entityManagerFactory"/>
    </spring:bean>
 </spring:beans> 
   <jpa:config name="JPA" entityManagerFactory-ref="entityManagerFactory" doc:name="JPA"/>    
        <flow name="FlowParseJson">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/parseJSON" doc:name="HTTP"/>
        <parse-template location="/jsonjpacheck" doc:name="Parse Template"/>
        <json:json-to-object-transformer returnClass="org.Location" doc:name="JSON to Object"/>
        <logger  message="#[message.payload]" level="INFO" doc:name="In Transaction"/>
    <transactional action="ALWAYS_BEGIN" doc:name="Transactional">
          <jpa:persist  entity-ref="#[payload]" config-ref="JPA" doc:name="Java Persistence API"/> 
    </transactional>
         <logger  message="#[message.payload]" level="INFO" doc:name="After Transaction"/>
        </flow>
</code>

和 Persistence.xml

<code>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
        version="2.0">

    <persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
         <provider>org.hibernate.ejb.HibernatePersistence</provider>
          <class>org.Location</class>
        <properties>
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/xxxx" />
            <property name="hibernate.connection.username" value="xxx" />
            <property name="hibernate.connection.password" value="xxxx" />

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="create" />
        </properties>
    </persistence-unit>

</persistence>
</code>

还有applicationcontext.xml,

<code>
      <context:spring-configured/>
            <context:annotation-config />
        <bean id="entityManagerFactory"
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean>
            <property name="persistenceUnitName" value="default" />
            <property name="jpaVendorAdapter">
                <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                 <property name="showSql" value="true"/>
                    <property name="generateDdl" value="true"/>
                </bean>
            </property>
        </bean>
            <bean class="org.springframework.orm.jpa.JpaTransactionManager"
                  id="transactionManager">
                <property name="entityManagerFactory" ref="entityManagerFactory"/>
            </bean>

           <bean id="sessionFactory" factory-bean="entityManagerFactory" factory-method="getSessionFactory"/>

            <tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/>

    </code>

【问题讨论】:

  • edit您的问题并添加相关代码以了解您的尝试。
  • 我已经编辑过了。 JPA 不持久,编译/运行时没有错误。建议的自定义交易,但请帮助如何实施?

标签: spring hibernate jpa mule


【解决方案1】:

这是另一个替代示例 mule_spring_hibernate 。经过长时间的努力让正确的库一起工作,我决定我需要创建一个演示项目并分享

请注意 mule-deploy.properties 文件中的 loader.override=org.hibernate 条目。

【讨论】:

  • 嘿@Noel Nightingale,感谢您的回答,loader.override 是如何工作的?我添加了这个项目,但现在由于某种原因我的部署因空指针异常而失败
【解决方案2】:

作为替代方案,请考虑persisting data via Hibernate from a Mule component。在 Mule 3.6.1 中的工作示例可以在 here 找到。

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多