问题标签 [dao]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2680 浏览

dao - 每个线程一个 DAO 还是线程安全 DAO?

我想知道多线程应用程序中是否有经过批准的做法。我应该每个线程有一个 DAO 还是简单地将一个 DAO 设为线程安全的单例。

0 投票
4 回答
2857 浏览

java - 通用 dao 架构讨论-最佳实践

我正在考虑做这个架构

genericdao +interface ---> servicelayer+interface---> 视图层

我的 dao 将只有通用方法,例如我的服务层将有真正的逻辑

服务层法

你这是好架构吗

我的问题是是否适合将“select ..”语句从 dao 移动到服务层

0 投票
1 回答
1537 浏览

java - Spring/Hibernate GenerationType.AUTO 的数据库备份问题

我使用 Spring/Hibernate Dao 将我的对象保存在数据库中。现在我必须备份我的应用程序中的所有数据库。现在,当我尝试回读备份时,我的应用程序崩溃了。现在我发现了这个崩溃的问题。它是 Hibernate,当我想保存时,它会自动为我的对象创建一个新 ID。

例如,我在备份文件中保存了 ID 为 4 的对象 a。

现在我阅读了备份文件。从旧东西中清理我的数据库。将此对象保存回 db。现在我的对象 id 是例如 5。但它必须是 4。如何防止 hybernate 自动生成我的 id 值?

我应该写一个额外的 JDBCDao 来导入吗?

这是我的 id 模型属性

感谢您帮助和原谅我糟糕的英语。

0 投票
2 回答
5655 浏览

java - 弹簧注释不起作用

我将此发布到春季论坛,对不起xpost。

我是春天的新手。我正在开发一个使用 spring 1.2.8(旧的,我知道)和 java 1.5 的现有项目,因此注释应该可以工作。

我正在尝试在具体类上使用@Transactional 注释,遵循以下文档:http ://static.springsource.org/spring/docs/1.2.8/reference/transaction.html#d0e6062

所以我有这样的事情:

我注释了我的课程:

当我运行它时,我可以在调试日志中看到 spring 正在查找所有类: 代码:

但在那之后没有提及注释或事务。我什至不知道是否应该有。我正在我的 mysql 日志中验证查询没有以事务方式执行。

有任何想法吗?

0 投票
2 回答
864 浏览

java - Java EE:我在哪里可以阅读有关 dao、服务以及为什么使用它们的信息?

好的,我是新工作,现在我被分配到一个使用 Spring、Hibernate 和 Wicket 的项目。我看到了很多 DAO 和服务包,我想了解为什么要使用它们,以及这样做有什么好处。

我了解使用数据库需要 DAO,但我想要更多信息。

我需要一个整体的、DAO 和服务层的大图。

0 投票
1 回答
965 浏览

java - 如何为 web 应用程序创建客户端通知服务,或者我应该使用观察者模式?

我有一个完全实现的 DAO,我所有的 bean 都继承了一个 Entity 对象。现在,我想创建一个客户端通知系统,当用户在持久性存储中创建/更新/删除实体时,通知会自动通过电子邮件发送给客户端。

我有一个 DAO 管理器,它使用工厂模式根据实体类型向我返回一个 DAO 管理器。

每个管理器都有一个 create()、remove()、update() 方法....

我的第一个想法是让我的所有实体管理器都继承一个观察者接口,并在函数调用(创建、删除、更新等)之后发送通知。

这是一个明智的想法吗?如果没有,我该怎么做才能向客户发送通知?

我正在运行 JBoss 5 或 Tomcat 6(或两者都用于轻松部署)和 Apache Struts(尽管我不明白我提到它的原因)。

提前致谢。

0 投票
3 回答
15467 浏览

java - 我发现 JPA 或类似的,不鼓励 DAO 模式

我发现 JPA 或类似的,不鼓励 DAO 模式。我不知道,但我有这种感觉,尤其是对于服务器管理的 JTA 管理器。

在使用 DAO 模式进行了充分的实践之后,我开始围绕该模式设计基于 JPA 的应用程序。但它不适合,IMO。我倾向于失去 JPA 的相当多的功能和所有功能。

好吧,假设您使用悲观锁定触发了一个查询,它从 DAO 方法返回了一个实体列表。返回后,事务结束并且锁定消失(服务器管理的 JTA 管理器的情况)。所以,没有意义,松散地说。不过,也有有效的案例。

另一个例子要简单得多。假设您触发查询以获取某个实体,该实体与其他实体具有延迟加载一对多关联。返回 DAO 方法后,事务结束。延迟加载将不再起作用,您只需获取null或其他东西。为了解决这个问题,我们急切地手动加载它。我们做类似的事情a.getBList().size()

因此,IMO 最好不要专门创建 DAO,而是在您的业务 bean 中进行,这样您就可以利用这些有用的功能。或者 ORM API 可以被认为是一个 DAO/数据层本身,可以说。所以,我们不需要再做一个。

大家怎么看呢?

注意:无论如何,我并不是说 DAO 模式已经过时。确实,这取决于具体情况。

0 投票
3 回答
14704 浏览

java - Spring JDBC:如何创建表?

我正在使用JdbcTemplate带有 DAO 模式的 Spring 来访问数据库。我不是手动创建数据库表,而是寻找一种在 DAO 层中生成表的方法。我知道我可以使用JdbcTemplate来执行语句,我只是在寻找合适的地方来执行它。

有没有最好的做法?

0 投票
1 回答
1747 浏览

php - 创建具有多个一对多关系的 DAO 查询?

我正在使用 PHP 和 MySQL 开发一个 Web 应用程序。我有一个名为 User 的实体,其中有许多一对多的关系(与其他对象)(地址列表、电子邮件列表、电话号码列表等)。这些地址、电子邮件、电话号码通过数据库中的连接表(user_link_addresses、user_link_emails 等)提供给用户。

我现在正在尝试为用户实体创建一个高效的 DAO,特别是方法 readUserById($userId) 和 readAllUsers()。但是,由于我是 sql 和 DAO 模式的业余爱好者,因此无法正确创建此 DAO。

有人告诉我,将您的 DAO 保留在一个查询中,该查询一次读取所有信息,然后可以相应地映射到该实体,这对于网络效率很重要。这确实有道理,但我无法生成一个查询,该查询包含所有内容的必要信息并且可以正确映射到我的实体。

现在,我可以通过在获取用户后在一个循环中执行多个查询来获取此信息......我只是不喜欢这个想法(而且我确信它不正确)。此外,我知道如何使用联结表进行连接 - 只是不使用如此复杂且需要正确映射的东西。

表名和字段

表:用户字段:用户 ID、用户名、密码

表:地址字段:address_id、街道、城市、州、邮政编码、类型

表:电子邮件字段:email_id、电子邮件、类型

表:phone_number 字段:phone_number_id、area_code、phone_number、类型

-- 协会连接表 --

表:user_link_address 字段:user_id、address_id

表:user_link_email 字段:user_id、email_id

表:user_link_phone_number 字段:user_id、phone_number_id

无论如何,非常感谢所有帮助,

史蒂夫

0 投票
1 回答
106 浏览

java - 如何将普通旧 Java 对象中的数据获取到 Oracle BI Publisher?

我有一个使用 Oracle BI Publisher 的客户。今天我们必须编写存储过程并从 BI Publisher 执行这些存储过程以获取数据。与此类似,我们必须使用 DAO 来执行存储过程并获取数据。我想知道是否可以将 BI Publisher 与 DAO 集成,从而以简单的 SQL 语句直接从数据库中获取数据。