当我从java测试类调用并运行这个方法时,我得到一个 javax.persistence.TransactionRequiredException: Executing an update/delete query
错误。我会做错什么?我在网上查了一下,发现了一个流行的建议,建议在方法中添加@transactional注解。不幸的是,此操作没有解决我的查询。我进口的 import javax.transaction.Transactional;
```
@Transactional
public List testUpdate() {
return execute("punit", entityManager -> {
Query query = entityManager.createNamedQuery("myDate").setMaxResults(20);
LocalDateTime dayBefore = LocalDateTime.now().minusDays(1);
query.setParameter("previousDate", Timestamp.valueOf(dayBefore)).executeUpdate();
return query.getResultList();
});
}
1条答案
按热度按时间sd2nnvve1#
作为配置xml的形式,很明显您将使用基于spring的事务。
请确保您使用的导入
@Transactional
"org.springframework.transaction.annotation.Transactional"
对你来说可能是"javax.transaction.Transactional"
只需尝试下面的代码。对我来说很好。