使用用HibernateCallback回调,的好处是什么呢?

wxwyes 09-02-19
    

看别人写的SSH程序的时候,发现里面很多涉及到数据操作的地方,都采用 HibernateCallback回调的方式

请问为什么在执行数据操作的时候要采用,HibernateCallback 的这种方式呢?

例如:

public List find()
{
return getHibernateTemplate().executeFind(new HibernateCallback() {
.....
}
}


这样写有什么好处呢?
[该贴被admin于2009-02-19 15:28修改过]

    

banq
2009-02-19 15:31

回调实际就是一种事件触发模式,就象连环地雷一样,一旦触发一个,这个再触发另外一个,你在find这个方法被执行时,希望同时执行其他方法,就需要回调。

不过一般不赞成在持久层用复杂的模式机制,因为你会将业务压抑在持久层,而不是业务层。

wxwyes
2009-02-19 16:34

嗯,明白了。
如例子代码中,他希望在执行executeFind()时也执行HibernateCallback 中的一些方法。

yellowcat
2009-06-06 12:29

主要目的是让你在使用一沉不变的模板的同时,可以增加自己的自定义方法,实现灵活