问题标签 [hibernate-generic-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 回答
2564 浏览

java - 不使用 Spring 获取 EntityManager

我使用的是 hibernate 但不是 Spring,只是找到了hibernate-generic-dao。这个概念看起来不错,但是当我运行它时,我得到了一个 NPE,因为我没有调用 setEntityManager()。

如何在不使用 Spring 的情况下获取 EntityManager?

0 投票
3 回答
3426 浏览

hibernate - org.hibernate.impl.SessionFactoryImpl.getClassMetadata 处的 NullPointerException

甚至不知道如何表达这一点,因为我不确定什么是空的。

我有一个像这样配置的 hbm.xml 文件:`

`

此 hbm.xml 已正确添加到 hibernate.cfg.xml。

我正在使用一个BaseDAOImpl <T extends Entity> extends GenericDAOImpl<T, Long> implements BaseDAO<T>. 这个 Generic DAO 是 Hibernate-Generic-DAO-framework 的一个类

更多代码如下:

所以我所有的 DAO 都扩展了这个基类。

我正在使用 spring 进行会话管理。下面的示例 appContext 文件:

在尝试练习 DAO 的课堂上,我这样称呼它:

上述代码的DAO实现是:

}

当它达到那个点时,它会生成以下异常:

我正在使用带有 dbunit 和 spring 测试的hibernate。尝试为我的代码设置测试环境。

关于配置混乱的地方或我错过了什么必要的地方有什么想法吗?

谢谢

0 投票
2 回答
28440 浏览

hibernate - 在 Hibernate 中更新后如何重新加载 Spring Security Principal?

这一定是一个普遍的问题......我觉得在谷歌搜索之后,我一定只是没有彻底四处寻找答案,或者没有人问过它......所以请原谅我。

我正在使用 Spring Security 和 Hibernate 等。

因此,用户/负责人已登录并对他们的个人资料进行了一些更改。

我使用我的 DAO 更新配置文件 (UserDetails),并且我希望我的 Principal 自动反映此更新。

但是,当我再次获得校长时,我得到了肮脏的版本(来自我的初始登录)。

有谁知道我如何让 Spring Security 从 Hibernate 重新加载更新的 UserDetails?

0 投票
2 回答
1061 浏览

java - 一个简单的 Dao 集成测试不起作用

这是一个非常简单的测试,关于在数据库中持久化一个瞬态 Person 对象,然后验证保存在数据库中的对象是否与瞬态 Person 对象相同。这里是测试

我的 daoIntegration-test.xml

域类是:

第一个断言通过,但第二个断言失败,我在某个地方犯了一个愚蠢的错误,但不知道在哪里!!!

0 投票
2 回答
2982 浏览

hibernate - Hibernate 通用 DAO 搜索

我正在使用休眠通用 dao 项目。我需要搜索“date1”字段早于“date2”的所有记录,例如:

然而,从 API 看来,搜索只接受值作为第二个参数而不是属性:

有没有办法根据两个记录字段进行过滤?

0 投票
1 回答
890 浏览

java - 不使用休眠模板的服务方法

我已经在谷歌上搜索了几个小时,试图找到一个示例,说明如何在使用 DAO 接口时编写不使用 Springs Hibernate 模板的服务方法。让我感到困惑的是,当我将@Transactional注释放在服务层而不是 DAO 时会发生什么。服务方法/DAO 接口是否可以互换?

这是一个@Transactional在 DAO 中的示例

这是服务层中的@Transactional,但使用休眠模板

谢谢你的帮助!

0 投票
1 回答
574 浏览

java - 使用来自多个表的信息记录交付的通用或特定 DAO?

我正在创建一个 Web 应用程序,它允许用户使用 spring 和 hibernate 通过 GUI 存储和检索数据库中的信息。

在创建 DAO 和服务层时,我陷入了困境。我想创建一个可以添加新交付的方法。在我的交付表中,我有产品 ID客户 ID,它们都映射到自己的表,分别包含产品名称、产品类型客户名称、客户国家

我遇到的问题是我希望最终用户通过输入产品类型、产品名称、客户名称、客户国家和日期来记录交货。难道我,

(1) 使用添加包含这些对象的新交付的方法创建一个 DAO

或者

(2) 创建一个只将一般对象持久化到数据库的 DAO,然后使用服务方法为每个单独的对象实现 DAO?

感谢您的帮助!

/D

0 投票
2 回答
568 浏览

spring - Spring MVC + Hibernate DAO:无法连接 bean

我目前正在开发一个集成了 Hibernate 的 Spring MVC 项目。纯 Spring MVC 部分(DispatcherServlet + 请求映射)工作正常。现在,我必须处理的问题很奇怪:我已经阅读了“Java Persistence with Hibernate”,并且我正在尝试以与书中解释的方式类似的方式设计我的持久层。也就是说,我在两个并行的层次结构中设计了它:一个用于实现类,另一个用于接口。

所以,我有一个名为 GenericDaoImpl 的抽象类,它实现了 GenericDao 接口。然后我有一个名为 AdvertisementDaoImpl 的具体类,它扩展了 GenericDaoImpl 并实现了 AdvertisementDao 接口(它扩展了 GenericDao)。

然后,在一个服务 bean(标有@Service 的类)中,我将自动装配我的 dao 类。

这是我的问题:

  • 自动装配实现接口但扩展我的抽象 GenericDaoImpl 类的 DAO 类:好的
  • 自动装配实现了 AdvertisementDao 接口并扩展了我的抽象 GenericDaoImpl 类的 AdvertisementDaoImpl :导致 bean 初始化异常。

我在 DAO 层次结构顶部的抽象类处理常见 CRUD 方法的所有样板代码。所以,我绝对想保留它。

有人对此有解释吗?

这是代码的摘录:

这是堆栈跟踪中最相关的部分(至少,我猜是这样):

嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:be.glimmo.service.AdvertisementService be.glimmo.controller.HomeController.advertisementService;嵌套异常是 java.lang.IllegalArgumentException:无法将 be.glimmo.service.AdvertisementService 字段 be.glimmo.controller.HomeController.advertisementService 设置为 be.glimmo.dao.AdvertisementDaoImpl

这是我的Spring 配置(链接到 pastebin.com):

0 投票
1 回答
290 浏览

hibernate - 映射列表在休眠中 - ClassCastException

我在休眠中映射列表时遇到困难。我想知道你对我的类、映射和数据库方案的看法。如果一切正常,我将不胜感激抛出异常的一些帮助。提前致谢 !

我有以下课程:

我的 hbm 文件如下:

最后,我的 sql 脚本如下:

在提交异常之前,Hibernate 会生成以下查询:

例外:

调用 GenericDaoHibernate.save(T entity) 时会发生这种情况。

0 投票
2 回答
3385 浏览

java - 通用 DAO 和嵌套属性支持

我正在尝试通过 DAO 对象执行数据库访问,并且遇到了需要查询另一个实体中的字段的情况。

考虑通过外键在实体 A 中连接的两个实体(实体 A 和实体 B)EntityA.idEntityB

我有GenericDao<EntityA> daoA并且我正在尝试获取与 EntityB 的确定字段匹配的所有结果:idEntityB.fieldOfB所有结果都在 dao 的相同查找方法中。

可能吗?如果是这样,一些方向会很好。谢谢

编辑

我的代码示例:

实体

DAO 访问

错误消息类似于“无法解析属性 idEntityB.fieldOfB

编辑 2

我能够找到我想做的事情。尽管我的 API 略有不同,但我相信这对于在自己项目的早期阶段遇到此问题的任何人都有帮助。

http://code.google.com/p/hibernate-generic-dao/

该框架具有强大而灵活的搜索功能。这是通过将搜索对象传递给通用和通用 DAO 上的搜索方法来使用的。

此项目完全支持具有嵌套属性的搜索。