我有5個MySQL InnoDB表:Test,InputInvoice,InputLine,OutputInvoice,OutputLine
,每個表都在Hibernate中映射和運行。我玩過使用StatelessSession/Session和JDBC批處理大小。我已經刪除了任何生成器類來讓MySQL處理這個id代 - 但它仍然表現得很慢。 這些表中的每一個表都在java類中表示,並相應地映射到休眠狀態。目前,當需要寫入數據時,如果我使用StatelessSession,則循環遍歷對象並執行session.save(Object)
或session.insert(Object)
。當我的行數達到max jdbc批處理大小(50)時,我也會執行刷新和清除(當使用Session時)。休眠關係映射/加速批量插入
- 如果我在一個擁有這些對象的「父」類中做了這些,而不是每個都做了
session.save(master)
會更快嗎? - 如果我把它們放在主/容器類中,我將如何映射hibernate以反映關係?容器類實際上不是它自己的表,而是一個基於兩個索引run_id(int)和line(int)的關係。
- 另一個方向是:我如何讓Hibernate做一個多行插入?
我忘了提,每個這些表中有很多列 – ashurexm 2010-04-23 00:28:48