继承了HibernateDaoSupport
现在要删除id是1、2、3.......等一大堆数据,怎么操作效率高
现在要删除id是1、2、3.......等一大堆数据,怎么操作效率高
解决方案 »
- 配置文件错误怎么解决啊
- java 提取中括号内容的正则表达式
- 求一个很简单的java小应用程序
- FTPClient上传图片问题
- 谁能告诉我用什么JAVA库可以来提取XML文件里特定TAG之间的内容,谢谢
- java连接PI数据库问题
- 请问怎样学习Struts框架下的工作流项目开发
- mybatis 执行SQL字符串(不是XML中的内容)
- 请大家讨论一下tiles使用中的一些原则,参与讨论者有分。包括tiles中的布局定义、jsp的命名、书写规范,文件结构的规则,可以尽情讨论,
- JAVA高手都来对j2ee构建mis系统做个讨论
- 今天遇到了一个非常非常奇怪的问题,在线等人解决 谢谢啦
- netbeans build时出问题了帮我看看
我只知道sql中有truncate,这个与delete相比是不记录日志文件的,速度比delete快.
Session session = getSession();
Transaction tx = session.beginTransaction();
StringBuffer sql = new StringBuffer();
sql.append("delete Brand where brandId in ( :brandId) ");
Query query = session.createQuery(sql.toString());
query.setParameterList("brandId",delBrandId);
int dels = query.executeUpdate();
tx.commit();
return dels;
}
hibernate 不知道 2.x 时候好像 最底层的 执行好像 还要 把所有实体类都要先查询一次的。3.x的时候好像已经改进了 ,这个没有研究。
2.直接操作sql可能会出乱子,使用Connection直接删除数据时是不会通知session的,因此有可能使同时存在的其他正常操作发生难以预料的错误。
通常的错误是数据库中不存在,但session二级缓存中却存在,或是删除了不可缺的关联后,造成关键查询出错等等。