- 浏览: 247913 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
1. HibernateCallback是一个接口,该接口只有一个方法doInHibernate(org.hibernate.Session session),该方法只有一个参数 Session。
2. 方法 doInHibernate 的方法体就是 Spring执行的持久化操作。
3. 使用HibernateTemplate执行execute(new HibernateCallback())方法,从HibernateCallback中得到session,在此session中做多个操作,并希望这些操作位于同一个事务中。
4. 回调实际就是一种事件触发模式,就象连环地雷一样,一旦触发一个,这个再触发另外一个,你在find这个方法被执行时,希望同时执行其他方法,就需要回调。
例如:
return (List<E>) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Criteria criteria = session.createCriteria(entityClass);
criteria.setFirstResult(pageSize * (pageIndex));
criteria.setMaxResults(pageSize);
return criteria.list();
}
});
如例子代码中,他希望在执行execute()时也执行HibernateCallback 中的一些方法。
5. HibernateTemplate提供这个HibernateCallback,
就是为了满足这种使用了HibernateTemplate的情况下,
仍然需要直接访问Session的需求而来的
它提供了在HibernateTemplate里面直接访问Session的能力
这个就是我们要使用HibernateCallback的原因.
发表评论
-
Spring 简介
2012-05-17 09:31 683Spring是一个开源框架,它由Rod Johnson创建。它 ... -
java的枚举的定义和使用
2012-01-12 23:29 1198public emun EmunName { w ... -
事务传播行为种类
2012-01-11 08:43 1043Spring在TransactionDefinition接口中 ... -
常用SQL语句
2011-12-31 11:33 649MySql分组查询语句: from Share as s ... -
hibernate对映射xml的一对多的双向关联详解
2011-12-18 00:15 878<?xml version="1.0" ... -
spring 如何获取当前上下文的session cookie
2011-12-14 08:49 1167ActionContext.getContext().getS ... -
Spring的提示配置
2011-12-12 19:53 661来源:http://www.secn.com.cn -
Java企业级开发SSH三大框架的Jar包
2011-12-06 18:39 947123 -
struts spring hibernate配置文件
2011-10-24 21:24 953ApplicationContext ctx = new Cl ... -
Spring - Annotation 自动匹配注入IOC
2011-10-21 00:19 532Spring - Annotation 自动匹配注入IOC -
Annotation的关联关系
2011-10-19 23:22 691一对一、一对多、多对多、组合映射、主键关系 的单向和双向 ... -
hibernate 名词解释
2011-10-18 23:20 754JPA是一个标准(接口),hibernate只是一个实现 先有 ... -
Junit测试文件
2011-10-18 22:19 829package com.bjsxt.hibernate; ... -
log4j.properties
2011-10-18 22:00 733### direct log messages to stdo ... -
把多个Spring配置文件组合在一起
2011-10-14 11:38 903<!-- Action --> <impo ... -
《Spring参考手册》中定义了以下几个AOP的重要概念
2011-09-26 11:21 861《Spring参考手册》中定义了以下几个AOP的重要概念,结合 ... -
Hibernate的Hql
2011-09-23 21:58 1108Hibernate 查询语言 NativeSQL(不执行跨平台 ... -
Hibernate级联操作
2011-09-23 00:15 878package com.secn.user; import ... -
Hibernate关系映射
2011-09-22 22:14 653关系映射: 对象之间的关系 一对一(单向和双向) Annont ... -
Hibenrate一对多和多对多
2011-09-20 23:18 337...
相关推荐
return getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Connection conn = session.connection(); ...
return (List) super.getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery...
this.getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { return session.createQuery(hql).executeUpdate();...
return (List) getHibernateTemplate().execute(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException{ List result = session.createCriteria(Address.class).add...
return (PageSupport) getHibernateTemplate().execute( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = cq....
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
return getHibernateTemplate().execute(new HibernateCallback<List<String>>() { @Override public List<String> doInHibernate(Session session) throws HibernateException, SQLException { Query query = ...
CtxUtil.getBaseManager().getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { // 保存stu1 Student stu1 = ...
return (List) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Criteria criteria = session.createCriteria(Person....
return (Student) getHibernateTemplate().execute(new HibernateCallback() { @Override public Student doInHibernate(Session session) throws HibernateException { // ... 查询逻辑 ... } }); } } ``` ...
在`HibernateTemplate`中执行事务操作通常涉及到`execute`方法,该方法接受一个实现了`HibernateCallback`接口的匿名类实例作为参数。`HibernateCallback`的`doInHibernate`方法会在Hibernate的Session上下文中执行...
return getHibernateTemplate().execute(new HibernateCallback<List<User>>() { public List<User> doInHibernate(Session session) throws HibernateException, SQLException { Query query = session....
虽然`HibernateTemplate`提供了很多便利,但它在处理复杂查询时可能需要创建内部类(inner class),如在分页查询时使用`execute(HibernateCallBack)`,这可能会增加调试的复杂性。相比之下,直接使用`Session`进行...
HibernateCallback<List<Dept>> callback = new HibernateCallback<List<Dept>>() { @Override public List<Dept> doInHibernate(Session session) throws HibernateException, SQLException { Query query = ...
通常,程序中采用实现HibernateCallback的匿名内部类来获取HibernateCallback的实例,方法doInHibernate()就是Spring执行的持久化操作。 24.3 Spring对Hibernate的简化 24.3.5 HibernateDaoSupport Spring为与...
如示例所示,通过`getHibernateTemplate().execute()`方法传递一个`HibernateCallback`,然后在回调方法中创建并执行`CallableStatement`。这使得在Java应用程序中直接调用数据库的存储过程成为可能,提高性能并简化...
return getHibernateTemplate().executeFind(new HibernateCallback<List<Member>>() { public List<Member> doInHibernate(Session session) throws HibernateException, SQLException { Query query = session....
HibernateDaoSupport封装了HibernateTemplate,而HibernateTemplate封装了Hibernate所提供几乎所有的的数据操作方法,如execute(HibernateCallback action),load(Class entityClass, Serializable id),save(final ...
在`queryForPage`方法中,我们使用了`HibernateCallback`接口回调,通过`getHibernateTemplate().executeFind()`执行HQL查询并设置分页参数`setFirstResult`和`setMaxResults`。`getAllRowCount`方法则直接返回HQL...