在同一事务中从bean而不是DB读取修改后的值



我面临的情况是,我需要更新参数,并希望在同一事务中检索修改后的值

例如:

@Transactional(propagation = Propagation.REQUIRED)
public void modifiyParameter(Object object, BigInteger attribute_id) {
...
Attribute attrValue = object.getParameter(attribute_id);
attrValue.setValue("new_value");
object.setParameter(attr_id, attrValue);
...
object.getParameter(attribute_id);   //getting old value instead of modified value  
}

在上面的例子中,它会返回旧的值本身,但我试图包装在单独的事务中,我可以检索修改后的值。

我的问题是,我们不能在同一事务中从bean本身检索修改后的值,而不是提交内部事务(即新事务(并从DB检索它吗?

如果您有值,那么为什么要从DB中获取值,请使用相同的值。从性能和可维护性的角度来看,这是一个很好的设计。

最新更新