您好,
我现在使用的是1.r.59版本,最新的org-nutz-integration-autoloadcache
我有一个父类,写了大部分公用的dao操作
@IocBean
public class BaseService<T> extends IdNameEntityService<T> {
@Inject
protected SqlTemplate sqlTemplate;
@Inject
@Override
public void setDao(Dao dao) {
super.setDao(dao);
}
@Cache(expire=600, key="'fetchById:'+#args[0]")
public T fetch(long id) {
return dao().fetch(this.getEntityClass(), id);
}
}
有一个子类继承上面的父类
@IocBean
public class SystemService extends BaseService<System> {
@Cache(expire=600, key="'fetchById:'+#args[0]")
public System fetchById(int id){
Criteria cri = Cnd.cri();
cri.where().andEquals("id", id);
return fetch(cri);
}
}
我在使用auloadCache 的时候发现子类的@Cache可以拦截到,但是直接调用父类的方法,@Cache就拦截不到,想请教一下这种情况有没有其他的做法,因为我有很多子类其实继承BaseService就能满足大部分操作,感谢
@IocBean
public class SystemServiceTest extends NutzTestCase {
@Inject
private SystemService systemService;
@Test
public void testFetchSystemById() {
int testId = 3;
for(int i=0; i<3; i++){
System sys1 = systemService.fetch(testId);
System sys2 = systemService.fetchById(testId);
}
}
}