gpt4 book ai didi

java - 在 java spring hibernate 的 userDAO 类中写什么东西

转载 作者:行者123 更新时间:2023-11-29 06:15:07 24 4
gpt4 key购买 nike

我有具有属性和 setter/getter 的域类用户

然后我有包含所有功能的 userService 类

添加用户删除用户

public void register(User person) {
logger.debug("Adding new Registration");
Session session = sessionFactory.getCurrentSession();
session.save(person);
}

我正在使用 hibernate 。

我的系统运行良好。但我对 UserDAO 在我的案例中的位置感到困惑。我需要它还是我需要在里面写些什么

最佳答案

没有什么可以迫使您拥有 DAO 层。

UI <-> Service <-> DAO <-> persistence

session 层中的代码通常进入 DAO 层。 IE。小的(几乎是原子的)操作,例如存储、删除等。

服务层用于隔离在简单存储层中难以处理的业务逻辑。例如,如果您想一次对多个 Person 实例进行操作,或者在保存对象之前对一些非常具体的业务逻辑进行操作。 RDBM 的另一个常见用途是在服务层进行事务管理,将可能的多个 DAO 请求协调到事务中。

在许多简单的应用程序中,服务层有些毫无意义。它只是代理操作,就像你上面的那样,从 UI 到 DAO - 没有添加逻辑。在这些情况下,我个人不一定会创建 DAO 层,将存储保留在服务中,而是在它增长到不仅仅是一个简单的持久层的那一刻重构它。

另一个方面是单元测试。一个简单的 DAO 层可以很容易地被模拟掉,这是保持业务逻辑和持久性严格分离的论据。

关于java - 在 java spring hibernate 的 userDAO 类中写什么东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374207/

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