使用Hibernate进行数据访问抽象

时间:2013-04-13 15:14:48

标签: java hibernate design-patterns rdbms

伙计们,我们正在用Java开发游戏服务器。首先是JPA / Spring Data / Hibernate,然后我们放弃了(感谢上帝),我们决定直接使用Hibernate。在这一点上,我可以说,如果需要,我们不会改变数据访问,普通Hibernate和本机查询的技术。


所以我的问题是关于此时正确的数据抽象。有没有任何意义可以使用Repository模式或为了上帝的缘故,只提供一个抽象的SessionTransaction处理提供某种Unit of Work模式?

  • 如果Repository将有太多的实现需要自己的方法
  • 如果Unit of Work我们公开了hibernate Session,但提供了灵活性并同时封装了Transaction管理

每种方式的优点和缺点是什么?建议的其他策略? DAO模式可以作为解决方案,还是最好直接使用Session

1 个答案:

答案 0 :(得分:1)

我会选择Ayende's advice -
Session 您的数据库抽象;你不需要abstraction on top of your abstraction