hibernate中怎么删除当前这个表的表数据?

已举报 回答 关注

hibernate中怎么删除当前这个表的表数据?

  • 回答数

    8

  • 浏览数

    2,665

8个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
String sql="delete from tablename where 1=1";
session.beginTransaction();
//获取connection,执行静态SQL
Statement state = session.connection().createStatement();
state.executeQuery(sql);
tr.commit(); session.close();
取消 评论
2个办法咯:
1、info表外键那里设置cascade delete级联删除,可能会比较慢。
2、删除info表delete from info where id=..再删除user表.
PS:不要用hibernate那个啦,多写写SQL多学学SQL,hibernate有啥用?想偷懒用代码生成器得了。
取消 评论
按顺序删除吧,先删子表, 再删user表
取消 评论
可以少字段不能多字段,建议你建个专门传递数据的类
取消 评论
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')
FROM information_schema.tables
WHERE table_schema = 'mydb';

mydb换成你想删除的数据库的名字
这样可以生成一个批量处理的sql语句,你需要再运行一次这个结果集
就可以删除所有的表而不删除数据库了
取消 评论
在hibernate映射文件对数据库表的描述中,加入dynamic-insert="true"和 dynamic-update="true" 语句,这时hibernate在进行插入(更新)操作时,只会为那些值不为空的字段赋值,而值为空的字段就会使用数据库表中定义的默认值了。
取消 评论
看下工作本是不是设置了保护,撤销保护工作表即可
取消 评论
80131048@qq.com
取消 评论
ZOL问答 > hibernate中怎么删除当前这个表的表数据?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

提示

确定要取消此次报名,退出该活动?