看了Warp和Hibernate Dynamic Dao想到的
看过ROBBIN老大的Warpframework-一个相当有前途的Java轻量级Web开发框架和NORTHER的模仿WarpDynamicFinder的HibernateDynamicDao真是受益良多,呵呵,感谢感谢!!
对WARP-MVC比较感兴趣,运行了一下演示DEMO,感觉不错啊。我对TAPESTRY不了解,觉得将模板改成JSP+EL会降低学习曲线。直接修改WARP-MVC处理后forward到JSP,这个代码改得比较粗糙,见不了光...不好意思摆出来,呵呵!
NORTHER的DynamicDao看得很爽,建议调整一下:在@InjectDao强制加入entityClass并让其可以在FIELD使用,使用时:
@Service public class UserService { @InjectDao(User.class) private UserDao userDao; public Serializable save(User entity) { return userDao.save(entity); } public void delete(Serializable id) { userDao.delete(this.get(id)); } public User get(Serializable id) { return userDao.get(id); } ...... }
其它的QUERYANNOTATION就可以省去entityClass了,HibernateDao和HibernateDaoDelegator可以用范型,再加上一个CommonDao<E>提供基本的CRUD方法。
@Transactional public interface CommonDao<E> { @Save public Long save(E entity); @Delete public void delete(E entity); @Update public void update(E entity); @Get public E get(Serializable id); }
其实可以利用SPRING的IoCANNOTATION,@Autowired或@Resouce来注入代码中的依赖的BEAN,如:在HibernateDaoDelegator用@Resouce注入sessionFactory
@Repository public class HibernateDaoDelegator<E> implements HibernateDao<E> { @Autowired private SessionFactory sessionFactory; ...... }
这样就不需要依赖Setter方法了,整个代码看起来会更清爽。
以为代码基于NORTHER的模仿WarpDynamicFinder的HibernateDynamicDao
用于学习,COPYLEFT
待续......
相关推荐
xxuncle 2020-07-04
RainyX 2020-06-12
feinifi 2020-10-13
Martian 2020-10-13
wwzaqw 2020-09-04
meleto 2020-08-17
DGKeriny 2020-08-03
coolham 2020-06-08
beibeijia 2020-06-07
黄河敏捷开发 2020-06-02
cuiwenjie 2020-05-29
郴州小程序 2020-05-26
颤抖吧腿子 2020-05-25
sucheng 2020-05-25
孙雪峰 2020-04-06
cbao 2020-04-26
园搬家测试账号 2020-05-01
杏仁技术站 2020-04-15