2015-08-20 3 views
0

Пытается внедрить модуль Mule JPA с Hibernate в Mule и неспособен сохранять данные с помощью. Когда я проверяю db, значения не вставлены. Я ссылался на эту ссылку, но не смог реализовать решение, данное в этой ссылке, Mule JPA persist is not inserting or updating.Модуль Mule JPA с Hibernate

Не могли бы вы прокомментировать или предоставить альтернативные предложения по этому вопросу? Благодарю.

<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> 
+0

Пожалуйста, отредактируйте ваш вопрос и добавьте код, который имеет отношение к пониманию того, что вы пробовали. –

+0

Я отредактировал его. JPA не сохраняется и ошибок при компиляции/времени выполнения. Предлагаемая пользовательская транзакция, но, пожалуйста, помогите, как ее реализовать? –

ответ

2

Вот еще один альтернативный пример mule_spring_hibernate. После долгих сражений, чтобы получить правильные библиотеки, работающие вместе, я решил создать демо-проект и поделиться

Обратите внимание на запись loader.override = org.hibernate в файле mule-deploy.properties.

+0

Эй, @ Ноэль Соловей, спасибо за ответ, как работает loader.override? Я добавил этот элемент, но теперь мои развертывания не работают с исключением нулевого указателя по какой-либо причине –