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 和同样的错误