hibernate 3.0,
1、使用sql语句,动态参数
SQLQuery query;
List list = Arrays.asList(ids.split(","));
sql = "delete from table where id in (:ids) ";
query = session.createSQLQuery(sql);
query.setParameterList("ids", list);
hibernate会根据list数量生成SQL:delete from table where id in (?,?...);
2、没有动态参数,在hibernate 2.0中的session.delete会有效率问题,hibernate3.0中用下面方法没效率问题
sql = "delete from table where id >65000 ";
query = session.createSQLQuery(sql);
query.executeUpdate();
Query query = session.createQuery("delete from Pojo where id>60000 and id<65000");
query.executeUpdate();
3、QBC
理解Hibernate 3.0 SQL查询优化
本文详细解析了Hibernate 3.0在处理SQL查询时的优化策略,包括动态参数使用、避免效率问题的方法及QBC查询的实现。
788

被折叠的 条评论
为什么被折叠?



