首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate3中 truncate运行时错误的解决方案

2012-09-14 
Hibernate3中 truncate运行时异常的解决方案在使用Hibernate3中,发现执回收表格(MySql表空间)时总是报错,

Hibernate3中 truncate运行时异常的解决方案
在使用Hibernate3中,发现执回收表格(MySql表空间)时总是报错,具体如下:
我们回收一个表空间(删除表中所有数据,并回收空间),但Hibernate3中总是报错。这点上觉得Hibernate还真不如IbatiS稳定,这种常用的SQL方法居然都支持的不好。
代码如下:

try {tx = session.beginTransaction();session.createSQLQuery("truncate table user2").executeUpdate();tx.commit();} catch (Exception e) {tx.rollback();e.printStackTrace();} finally {session.close();}

这里顺便说一下为什么使用truncate而不用delete
truncate会删除表中所有的数据,包括序列,同时回收表空间。当再插入数据时,序列号是1.
delete仅仅是删除数据,不删除序列,不回收空间。当再插入数据时,序列号是最后的序列号+1。

热点排行