我有道,基本上插入一個記錄到表中使用休眠,這個道標有@Transactional
註釋與propogation-NESTED
,我有服務,使一些其他的東西,然後調用我的道。我的服務也用@Transactional
與propagation-REQUIRED
註解。休眠批量插入,批量更新
我在循環中調用服務。我的刀片插入是否可以批量或一個一個地工作?我如何確保他們能夠批量工作? hibernateTransaction管理器是否管理批量插入?
我正在使用Oracle DB。
我有道,基本上插入一個記錄到表中使用休眠,這個道標有@Transactional
註釋與propogation-NESTED
,我有服務,使一些其他的東西,然後調用我的道。我的服務也用@Transactional
與propagation-REQUIRED
註解。休眠批量插入,批量更新
我在循環中調用服務。我的刀片插入是否可以批量或一個一個地工作?我如何確保他們能夠批量工作? hibernateTransaction管理器是否管理批量插入?
我正在使用Oracle DB。
我已經設置以下屬性,我的業績增長;
hibernate.jdbc.batch_size=50
我不是Hibernate專家,但我記得添加一個屬性來註銷sql語句。
SessionFactory sf = new Configuration()
.setProperty("hibernate.show_sql", "true")
這應該表現出你的方法
我可以跟蹤SQL語句,在這一點上沒有任何問題,他們似乎出現一次,但我怎麼能確保他們在批處理工作,DB,如果我已經使用Jdbc和addBatch方法,然後它在數據庫中批量工作。但是在休眠中呢。 – dursun
它不會在一個批次去的每一個執行後正在生產什麼SQL,看看Hibernate Doc。
要跟蹤如果Hibernate使用批次您可以創建logger在org.hibernate.jdbc.AbstractBatcher它會記錄配料...
我問JDBC的addBatch相當於處於休眠 – dursun