Я использую JBoss 7.1 AS в своем приложении, JPA, Hibernate и MySql DB, я все хорошо настроил, и моя программа извлекает данные из нормального db. Проблема в том, что я пытаюсь вставить некоторые данные. Я узнал, что это нормально, что JTA EntityManager не может использовать get Transaction, поэтому мой вопрос: как я могу вставить некоторые данные в свой db? Не знаю, как работает Spring, поэтому не указывайте мне, пожалуйста, если это не так просто.Как вставить некоторые данные при использовании JTA Entity Manager
моя настойчивость выглядит, что теперь:
<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="EngineProject" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/MySqlDS</jta-data-source>
<class>org.itdevelopment.DAO.User</class>
<properties>
<property name="hibernate.show.sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
и мой, что им пытаются сделать, это просто вставить некоторые данные в ManagedBean, класс пользователя, аа метод:
em.getTransaction().begin();
User employee = new User();
employee.setId(23);
employee.setCompany("Coca cola");;
employee.setLogin("James");
em.persist(employee);
em.getTransaction().commit();
как я уже сказал, возвращается: JTA EntityManager не может использовать getTransaction() Так как же я могу что-то вставить?
спасибо. M
Вы используете внутри контейнера Java EE с полным стеком, используя JTA. Декларативные транзакции поддерживаются. Просто сделайте свои компоненты сессионными компонентами без состояния, и у вас будут транзакции без необходимости явно запускать транзакции фиксации и отката. –