0

问题 1:CRUD 进入了 DAO,但也进入了 finder,对吗?问题 2:搜索引擎扩展,如 Hibernate Search,将其功能写入 DAO 是否正常?

4

2 回答 2

0

我对两者都说是,因为您的 DAO 是关于特定对象的数据访问,其中包括所有 CRUD 和搜索操作。

于 2013-09-24T02:12:52.777 回答
0

它可以,是的——对于这两个问题。要记住的重要一点是,DAO 的目的是从应用程序的其余部分中抽象出持久性方案的细节。很容易,尤其是当您开始进行搜索和更复杂的操作时,开始将耦合引入到您的持久性实现中。例如,如果您通过使用 Hibernate Criteria 作为参数的方法公开搜索,您将引入与 Hibernate 的耦合。这可能适合也可能不适合您的应用。

另一种策略是为 CRUD 和查询操作使用不同的 DAO,然后将这两者结合到更高层的抽象或服务中。例如,我有时会看到它用于具有关系数据库和 Lucene 索引的应用程序。

于 2013-09-24T02:15:08.230 回答