gpt4 book ai didi

java - 关于正确使用 DAO

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:37 25 4
gpt4 key购买 nike

DAO 是只保留基本的 CRUD 操作,还是还可以包含一些复杂的搜索逻辑?

想象一下 Book 和 Author 这两个实体类以及它们之间的多对多关系。此时,单个 DAO 可能绰绰有余,因为两个实体的基本 CRUD 操作是相同的。

然而,随着应用变得越来越复杂,新的要求出现了,例如:1. 找到给定作者的第一本书2. 查找某个作者在一段时间内写过的书3.找到给定作者写的关于特定主题的书4. ....等

所有这些应该去哪里?我现在是否为每个实体创建一个单独的 DAO 类,并将它们放在那里?它们是否完全属于 DAO 层?

我有这样的困境: 以下方法应该放在哪里:findBooks(作者作者)findBooks(出版商出版商)都在 BookDAO 中,还是一个在 AuthorDAO 中,另一个在 PublisherDAO 中?

或者也许我应该考虑一个全新的抽象,它在 DAO 之上并将它们留给基本的 CRUD 操作——例如一个 SearchService,它列出了所有可能的搜索?

最佳答案

Is DAO only reserved for the basic CRUD operations

没有。随意将所有数据访问逻辑放在 DAO 中。

不要混淆 DAODAL小号:

关于java - 关于正确使用 DAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com