我有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