Java @事务性不回滚值
也许我误解了Java EE@Transactional的工作原理,我编写了一个简单的示例,但注释似乎不起作用:Java @事务性不回滚值,java,jakarta-ee,transactions,transactional,Java,Jakarta Ee,Transactions,Transactional,也许我误解了Java EE@Transactional的工作原理,我编写了一个简单的示例,但注释似乎不起作用: @Transactional(rollbackOn = BusinessException.class) public void save() throws BusinessException { lista.add("Mary"); validar(); lista.add("John"); } private void validar() throws Bu
@Transactional(rollbackOn = BusinessException.class)
public void save() throws BusinessException {
lista.add("Mary");
validar();
lista.add("John");
}
private void validar() throws BusinessException{
throw new BusinessException("exception");
}
即使发生BusinessException,在方法开头添加到列表中的值(“Mary”)也不会回滚。这是预期的行为吗?@Transactional是否仅用于管理数据库(和其他资源)事务?@Transactional仅用于管理数据库事务。事务是针对数据库执行的工作单元。更多的基本信息可以在这里找到-感谢Sundararaj的启示。我一直认为术语transaction在这里更一般,数据库事务也由@Transactional注释管理。