我正在使用Google Guice和Hibernate开始一个项目,并且在配置数据库访问层的过程中,我对这个过程中的一些疑问感到不安。
我在我的POJO中使用JPA注释,而我的Generic DAO实现使用EntityManager对象与数据库通信。我做了几次“手动”测试,我看到它工作正常,但我更喜欢遵循TDD方法来强化我对这种方法的了解。我不确定在java中测试泛型的最佳方法是什么,甚至不是测试Hibernate Generic DAO模式的最佳解决方案。
我已经阅读了几个解决方案,但我对这些解决方案感到不舒服:
除此之外,我已经读过,删除DAO层并直接从服务中使用实体管理器可能会更好:我不认为这是最好的方法,因为您将数据库层与服务层混合
有人可以帮我吗?!
答案 0 :(得分:0)
DAO和entityManager之间的区别在哪里?它们都是数据库层,只是一个不同的抽象层。
为了测试查询等,内存数据库优于模拟完整的数据访问层。