Jpa playframework1.2.3将数据保存到数据库中而不进行事务处理

Jpa playframework1.2.3将数据保存到数据库中而不进行事务处理,jpa,playframework,flush,Jpa,Playframework,Flush,如果没有事务,我无法将实体数据保存到数据库中。 我知道PersistenceContextType.Extend,但我不能成功 我自己在JPA上签了首字母,以防止play启动交易。 我想将数据保存到数据库中,但出现TransactionRequiredException错误。 我知道JPA操作需要一个事务,但我想知道是否有异常。我不确定您在这里想要实现什么。最好让Play处理事务。如果没有事务,您将无法提交更改 如果您需要更多控制何时提交事务,可以使用以下实用方法: public static

如果没有事务,我无法将实体数据保存到数据库中。 我知道PersistenceContextType.Extend,但我不能成功


我自己在JPA上签了首字母,以防止play启动交易。 我想将数据保存到数据库中,但出现TransactionRequiredException错误。
我知道JPA操作需要一个事务,但我想知道是否有异常。

我不确定您在这里想要实现什么。最好让Play处理事务。如果没有事务,您将无法提交更改

如果您需要更多控制何时提交事务,可以使用以下实用方法:

public static void commit() {
    if (JPA.em().getTransaction().getRollbackOnly()) {
        JPA.em().getTransaction().rollback();
    } else {
        JPA.em().getTransaction().commit();
    }
    JPA.em().getTransaction().begin();
    JPA.em().flush();
    JPA.em().clear();
}

请提供代码示例和上下文。Play将为您管理事务。每个控制器方法将在输入时启动一个事务,并在离开该方法后提交它。
public static void commit() {
    if (JPA.em().getTransaction().getRollbackOnly()) {
        JPA.em().getTransaction().rollback();
    } else {
        JPA.em().getTransaction().commit();
    }
    JPA.em().getTransaction().begin();
    JPA.em().flush();
    JPA.em().clear();
}