我有一个简单的问题。是否有能力从存储过程中的hibernate会话中获取数据?它看起来像:
@Transactional
public void doAction() {
Product pr = new Product("Apple");
hibernateTemplate.save(product);
executeStoredProcedure();
hibernateTemplate.save(new Product("foobar"));
}
executeStoredProcedure - 方法通过JDBC执行存储过程。此存储过程必须能够访问已创建的产品(Apple)。
此外,db的所有操作都应该在一个事务中执行。
我如何实现与此类似的东西?
使用Oracle DB(PLSQL)
答案 0 :(得分:1)
在调用存储过程之前尝试调用flush()
,以便将新产品同步到数据库。
来自flush()的javadoc引用:
仅在选择性急切刷新时调用此方法,例如,当JDBC代码需要在同一事务中查看某些更改时。
......我认为这正是你所需要的。