写完我自己已经吐了
需要获得运行时的Class<T>
感觉上是可以做到样子……
参照泛型DAO的写法
完全不行
人家也不是万用实现
求打通七筋八脉~
@Service
public class PubManager<T, PK extends Serializable>{
private SessionFactory sessionFactory;
@Autowired
private PubManagerImpl<T, PK> mgr;
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public PubManagerImpl<T, PK> getI(Class<T> c){
if(null == mgr.getDAO()){
mgr.setDao(new HibernateDao<T, PK>(sessionFactory ,c));
}
return mgr;
}
}
@Service
@Transactional
public class PubManagerImpl<T, PK extends Serializable> extends AbsManager<T, PK> implements absMgr<T, PK> {
private HibernateDao<T, PK> dao;
@Override
public HibernateDao<T, PK> getDAO() {
return dao;
}
public void setDao(HibernateDao<T, PK> dao) {
this.dao = dao;
}
}
Controller
@RequestMapping("/xxx/xxxx")
public class XxxxXxxxXxxController {
@Autowired
private CodeManager codeManager;
@Autowired
private PubManager<XxxxxXxxxXxxx, String> pubManager;
@RequestMapping("allXxx")
public @ResponseBody Page<XxxxxXxxxXxxx> logs(){
return pubManager.getI(XxxxxXxxxXxxx.class).searchByPage();
}
需要获得运行时的Class<T>
感觉上是可以做到样子……
参照泛型DAO的写法
完全不行
人家也不是万用实现
求打通七筋八脉~