Karaf - TransactionRequiredException

时间:2017-01-06 11:56:29

标签: java jta apache-karaf karaf

我正在运行Karaf,我在persistence.xml中有一个DataSource(指向SQL Server数据库),我正在尝试执行插入查询。

但我得到了这个例外:

javax.persistence.TransactionRequiredException: Executing an update/delete query at
  org.hibernate.jpa.spi.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:71)

我的交易类型设置为JTA。 我想我需要配置一些交易,但我对此并不是很熟悉。我认为这很简单但我在谷歌搜索时找不到很多想法。

我需要在XML描述符(persistence.xml或blueprints.xml)中更改什么?

请提供一些示例XML代码段。非常感谢提前。

     71 | Active |  80 | 2.3.0               | Apache Aries JPA Container API
     73 | Active |  80 | 2.3.0               | Apache Aries JPA container
     74 | Active |  80 | 2.3.0               | Apache Aries JPA support
     76 | Active |  80 | 1.1.1               | Apache Aries Transaction Blueprint
     77 | Active |  80 | 2.1.0               | Apache Aries Transaction Blueprint
     78 | Active |  80 | 1.3.0               | Apache Aries Transaction Manager

1 个答案:

答案 0 :(得分:0)

看看aries jpa examples。蓝图和声明性服务有一些例子。对于蓝图,支持标准注释,如@PersistenceContext和@Transactional。

对于DS,您可以使用JPATemplate在事务中运行代码并使用EntityManager。