gpt4 book ai didi

java - Hibernate ReturningWork 接口(interface)的用途是什么?

转载 作者:行者123 更新时间:2023-11-30 02:03:56 25 4
gpt4 key购买 nike

我正在开发一个 JAVA + Hibernate 项目,但目前,我在代码中看到一个接口(interface)(即 ReturningWork<Long> ),其中有一个名为 execute(java.sql.Connection) 的方法。 .

我的问题是这个ReturningWork有什么用?接口(interface)?

最佳答案

正如我更详细地解释的那样 on my blog ,您可以使用 ReturningWork 和 Work 接口(interface)来实现任何需要直接访问 Hibernate session 使用的 java.sql.Connection 的逻辑。

这是一个简单的示例,它使用 ReturningWork 接口(interface)执行一个非常简单的查询(您也可以使用 JPQL 实现)并返回结果。

Session session = em.unwrap(Session.class);
Integer bookCount = session.doReturningWork(new ReturningWork<Integer>() {

@Override
public Integer execute(Connection con) throws SQLException {
// do something useful
try (PreparedStatement stmt = con.prepareStatement("SELECT count(b.id) FROM Book b")) {
ResultSet rs = stmt.executeQuery();
rs.next();
return rs.getInt(1);
}
}
});

log.info("Found " + bookCount + " books.");

关于java - Hibernate ReturningWork<Long> 接口(interface)的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51889482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com