看了Warp和Hibernate Dynamic Dao想到的

看过 ROBBIN 老大的[url=http://www.iteye.com/topic/168780]Warp framework - 一个相当有前途的Java轻量级Web开发框架[/url] 和 NORTHER 的[url=http://norther.iteye.com/blog/172265]模仿Warp Dynamic Finder的Hibernate Dynamic Dao[/url] 真是受益良多,呵呵,感谢感谢!!
对WARP-MVC比较感兴趣,运行了一下演示DEMO,感觉不错啊。我对TAPESTRY不了解,觉得将模板改成JSP+EL会降低学习曲线。直接修改WARP-MVC处理后forward到JSP,这个代码改得比较粗糙,见不了光...不好意思摆出来,呵呵!

NORTHER 的Dynamic Dao看得很爽,建议调整一下:在@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);
}
......

}

其它的QUERY ANNOTATION就可以省去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的IoC ANNOTATION,@Autowired或@Resouce来注入代码中的依赖的BEAN,如:在HibernateDaoDelegator 用@Resouce注入sessionFactory

@Repository
public class HibernateDaoDelegator<E> implements HibernateDao<E> {

@Autowired
private SessionFactory sessionFactory;

......
}

这样就不需要依赖Setter方法了,整个代码看起来会更清爽。

以为代码基于 NORTHER 的[url=http://norther.iteye.com/blog/172265]模仿Warp Dynamic Finder的Hibernate Dynamic Dao[/url]
:P 用于学习,COPY LEFT
待续......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值