Hibernate Session的存储过程数据

时间:2013-04-16 09:00:09

标签: java hibernate jpa

我有一个简单的问题。是否有能力从存储过程中的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)

1 个答案:

答案 0 :(得分:1)

在调用存储过程之前尝试调用flush(),以便将新产品同步到数据库。

来自flush()的javadoc引用:

  

仅在选择性急切刷新时调用此方法,例如,当JDBC代码需要在同一事务中查看某些更改时。

......我认为这正是你所需要的。