使用Hibernate进行数据访问抽象



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


所以我的问题是关于正确的数据抽象。用Repository模式有什么意义吗?或者看在上帝的份上,放弃一个抽象的只有SessionTransaction的处理,提供某种Unit of Work模式?

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

每种方法的优缺点是什么?还有其他建议吗?DAO模式是解决方案还是直接使用Session更好?

我同意Ayende的建议-
Session 您的数据库抽象;你不需要在你的抽象之上再加一个抽象

最新更新