亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Hibernate ReturningWork<Long> 接口的目的是什么?

Hibernate ReturningWork<Long> 接口的目的是什么?

繁星coding 2021-07-20 15:53:50
我正在開發一個 JAVA + Hibernate 項目,但目前,我在我的代碼(即ReturningWork<Long>)中看到了一個接口,其中有一個名為execute(java.sql.Connection).我的問題是這個ReturningWork接口有什么用?
查看完整描述

2 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

休眠會話休眠 Session doReturningWork

HibernateSession doReturningWork方法具有以下簽名:


<T> T doReturningWork(ReturningWork<T> work) throws HibernateException;

而ReturningWork界面如下所示:


public interface ReturningWork<T> {

    public T execute(Connection connection) throws SQLException;

}

因此,與doWork方法不同,doReturningWork允許我們將對象返回給方法調用者。


例如,我們可以使用該doReturningWork方法來獲取當前的事務隔離級別:


Session session = entityManager.unwrap(Session.class);


int isolationLevel = session.doReturningWork(

    connection -> connection.getTransactionIsolation()

);


assertEquals(

    Connection.TRANSACTION_READ_COMMITTED, 

    isolationLevel

);

何時使用doWork和doReturningWork?

通常,您可以使用 JPA 或 Hibernate 特定的 API 來執行 SQL 語句或調用數據庫過程或函數。


但是,如果要訪問底層 JDBCConnection方法并通過 JDBC API 執行任何可能的操作,則需要使用doWork和doReturningWorkHibernateSession方法。


查看完整回答
反對 回復 2021-07-29
  • 2 回答
  • 0 關注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號