gpt4 book ai didi

java - 如何在使用 JTA 实体管理器时插入一些数据

转载 作者:行者123 更新时间:2023-11-30 00:59:01 25 4
gpt4 key购买 nike

我在我的应用程序、JPA、Hibernate 和 MySql DB 中使用 JBoss 7.1 AS,我配置得很好,我的程序正在从数据库正常获取数据。问题是当我尝试插入一些数据时。我发现 JTA EntityManager 无法使用 get Transaction 是正常的,所以我的问题是如何将一些数据插入到我的数据库中?不知道 Spring 是如何工作的,所以请不要向我指出这一点,除非它很简单。

我的坚持现在看起来是这样的:

<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、User 类、一个方法中插入一些数据:

      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() 那么我怎样才能插入一些东西呢?

谢谢。中号

最佳答案

如果你想使用Spring框架,那么你需要正确配置Spring容器。请在此处提供 spring 配置和 DAO 类内容。

这里是如何正确执行此操作的链接

http://docs.spring.io/spring/docs/3.0.x/reference/orm.html#orm-hibernate

在常见情况下,您只需要

1.正确配置spring和hibernate2.使用必需的修饰符将DAO方法标记为@Transactional

另请参阅 Spring Data 项目,它具有针对 Hibernate 的开箱即用解决方案

http://projects.spring.io/spring-data/

关于java - 如何在使用 JTA 实体管理器时插入一些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20305798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com