获取 TransactionRequiredException:对删除执行更新/删除查询

时间:2021-03-12 00:44:08

标签: java spring hibernate

import javax.persistence.Query;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
 
@Repository("EmployeeGroupDao")
public class EmployeeGroupJpaDao implements EmployeeGroupDao {
 
    @Transactional
    public int deleteAll() {
        StringBuilder buf = new StringBuilder();
        buf.append("DELETE FROM EmployeeGroup");
        Query query = getEntityManager().createQuery(buf.toString());
        int result = query.executeUpdate();
        LOG.info("Numbers of records deleted " + result);
        return result;
    }

出现以下错误 - 我在一个方法上有 @Transactional。使用 oracle 数据库。

 Getting an error 
    javax.persistence.TransactionRequiredException: Executing an update/delete query
        at org.hibernate.jpa.spi.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:71) ~[hibernate-entitymanager-4.3.10.Final.jar:4.3.10.Final]
        at EmployeeGroupJpaDao.deleteAll(EmployeeGroupJpaDao.java:34) ~[classes/:na]

也试过 import javax.transaction.Transactional 而不是 org.springframework.transaction.annotation.Transactional 和同样的错误

0 个答案:

没有答案
相关问题