各位,我们正在用 Java 开发一个游戏服务器。首先是 JPA/Spring Data/Hibernate,然后我们放弃了(感谢上帝),我们决定直接使用 Hibernate。在这一点上,我可以说,如果需要的话,我们不会改变数据访问、普通 Hibernate 和 native 查询的技术。
<小时/>所以我的问题是关于此时正确的数据抽象。使用 Repository
有任何意义吗?模式或看在上帝的份上放弃它只是一个摘要Session
和Transaction
处理提供某种Unit of Work
模式?
- 如果是
Repository
将会有太多需要自己方法的实现 - 如果
Unit of Work
我们暴露 hibernateSession
,但提供灵 active 和封装Transaction
同时管理
每种方法的优缺点是什么?还有其他建议的策略吗?可以DAO
模式是解决方案,或者最好使用 Session
直接?
最佳答案
我会选择Ayende's advice -
Session
是您的数据库抽象;你不需要abstraction on top of your abstraction .
关于java - 使用 Hibernate 进行数据访问抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15989288/