//分页查询
try {
final String queryString = "from News a where a.status=1 order by a.createDate desc";
List list = getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List result = session.createQuery(queryString)
.setFirstResult(page_seq).setMaxResults(num_per_page).list();
return result;
}
});
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
//批量插入
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
for ( int i=0; i<100000; i++ ) {
Customer customer = new Customer(.....);
session.save(customer);
if ( i % 20 == 0 ) { //20, same as the JDBC batch size //20,与JDBC批量设置相同
//flush a batch of inserts and release memory:
//将本批插入的对象立即写入数据库并释放内存
session.flush();
session.clear();
}
}
return new Integer(100000); //象征性的返回一个obj
}
try {
final String queryString = "from News a where a.status=1 order by a.createDate desc";
List list = getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List result = session.createQuery(queryString)
.setFirstResult(page_seq).setMaxResults(num_per_page).list();
return result;
}
});
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
//批量插入
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
for ( int i=0; i<100000; i++ ) {
Customer customer = new Customer(.....);
session.save(customer);
if ( i % 20 == 0 ) { //20, same as the JDBC batch size //20,与JDBC批量设置相同
//flush a batch of inserts and release memory:
//将本批插入的对象立即写入数据库并释放内存
session.flush();
session.clear();
}
}
return new Integer(100000); //象征性的返回一个obj
}