gpt4 book ai didi

java - 多个 DAO 实例 = 不好?

转载 作者:行者123 更新时间:2023-12-02 08:07:07 24 4
gpt4 key购买 nike

两个应用程序(A 和 B)使用 hibernate 从数据库中检索相同的实体。是否应该在每个应用程序中实例化 DAO,还是应该有一个单独的应用程序 (C),其中包含 DAO 的唯一实例并公开服务(例如 RMI)供 A 和 B 使用?

如果后一种情况属实,那么防止加载异常的常见做法是什么?我认为我目前的计划是使用 RMI 并为每个域对象创建一个 DTO。我唯一的保留意见是 A 和 B 中的实体将无法引用 C 中的实体。这是常见策略吗?

可能值得一提的是,有 4 个不同的服务器分别运行 A 和 B。目前每个服务器上也都有数据库 - 这个问题的出现是因为我试图集中一些东西 - 要么所有项目都有一个指向单个数据库服务器的 DAO 或所有应用程序都指向由 C 托管的服务,该服务具有指向单个数据库的 DAO。

最佳答案

DAO 通常是一个无状态的单例,用于从数据库中加载、搜索、修改和删除实体。为什么要使用 RMI 与另一个 JVM 进行通信才能做到这一点?您将严重降低性能,实体永远不会附加到 session ,并且您无法在单个实体上使用跨越多个操作(加载、存储)的事务。这根本没有意义。

每个应用程序中都有一个 DAO 实例。

关于java - 多个 DAO 实例 = 不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994609/

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