javax.persistence.TransactionRequiredException: Executing an update/delete query
时间: 2024-06-09 17:05:48 浏览: 203
java.lang.NoClassDefFoundError: javax/persistence/EntityListener
javax.persistence.TransactionRequiredException表示在执行更新或删除查询时缺少事务。这意味着你需要在执行该查询的方法上添加@Transactional注解,以确保该方法在一个事务中执行。在你的代码示例中,你可以在executeSQL方法上添加@Transactional注解来解决这个问题。
示例代码如下:
```java
@Repository
public class CommonRepository {
@PersistenceContext
private EntityManager entityManager;
/**
* 执行SQL语句
*
* @param sql SQL语句
*/
@Transactional(rollbackFor = Exception.class)
public void executeSQL(String sql) {
Query query = this.entityManager.createNativeQuery(sql);
query.executeUpdate();
}
}
```
阅读全文