1: public List find(final ConfigFileThirdKind condition)
2: {
3: return this.getHibernateTemplate().executeFind(
4: new HibernateCallback()
5: {
6: public Object doInHibernate(Session s) throws HibernateException{
7: Criteria c = s.createCriteria(ConfigFileThirdKind.class);
8: if (null != condition)
9: {
10:
11: }
12: c.addOrder(Order.asc("ftkId"));
13: return c.list();
14: }
15: }
16: );
17: }
先看13行,先调用c.list()函数,函数返回值后,再return **;
那么你看3-16行,其实4-15行就相当于一个内联函数inline
自己去了解内联函数,就是一个函数
把4-15行用函数fun()来写,并假如c.list()函数返回的数据类型是Type
那么
Type fun()
{
new HibernateCallback() //拿到HibernateTeplate 自己百度HibernateCallback
{
public Object doInHibernate(Session s) throws HibernateException{
Criteria c = s.createCriteria(ConfigFileThirdKind.class);
if (null != condition)
{
}
c.addOrder(Order.asc("ftkId"));
return c.list();
}
}
}
public List find(final ConfigFileThirdKind condition)
{
return this.getHibernateTemplate().executeFind( fun() );
}
看见没,fun()返回的值作为executeFind()的参数传递给别人用;
处理完后再 return this.****;
很好理解吧,至于函数在做什么,自己查函数的资料