问题1:CRUD进入DAO但是查找器也是如此? 问题2:搜索引擎扩展,如Hibernate Search,将其功能写入DAO是否正常?
答案 0 :(得分:0)
我会对两者都说是,因为您的DAO是关于包含所有CRUD和搜索操作的特定对象的数据访问。
答案 1 :(得分:0)
对于这两个问题,它可以,是的。要记住的重要一点是,DAO的目的是从应用程序的其余部分抽象出持久性方案的细节。很容易,特别是一旦开始进行搜索和更复杂的操作,就开始引入与持久性实现的耦合。例如,如果通过Hibernate Criteria作为参数的方法公开搜索,则引入与Hibernate的耦合。这可能适用于您的应用,也可能不适用。
另一种策略是为CRUD和查询操作提供不同的DAO,然后将这两者结合在更高层的抽象或服务中。我有时会看到这个用于具有关系数据库和Lucene索引的应用程序。例如。