gpt4 book ai didi

java - 无 Spring Hibernate DAO 和 @Repository 用于异常翻译!这不是依赖吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:49:03 24 4
gpt4 key购买 nike

我读到创建 Hibernate DAO 的新方法是使用 Hibernate 上下文 session 。主要原因是避免使用基于 Spring 的 HibernateTemplate/HiberateDaoSupport 以及 Spring-Free DAO。

当我搜索如何处理异常翻译?到处都写着我应该使用@Repository! @Repository 确实需要导入并在我的代码中创建依赖项。我说得对吗?

注释不被视为依赖吗?如果是的话,我是否可以使用 XML 来实现呢?或者我应该使用旧的 HibernateDaoSupport 方式,因为无论如何我都会将我的代码与 Spring 结合起来?

更新

发现类似的问题:“integrate hibernate with spring without spring dependency in dao”但是:

  • @pap 给出的答案的第一段没有为 @Repository 指定任何明确的 XML 替代方案。
  • 该答案的其余部分提供的见解是合理的,但我的问题仍未得到解答,如果解耦不是一个太大的问题,那么 Spring 为何尝试提出 Hibernate DAO 的新方法?

附注这不是批评。相反,这是一种学习思考该主题的正确方法(即依赖关系)的尝试。

最佳答案

Spring 异常转换的首要目的是通过创建对 Spring 的依赖来打破对 Hibernate 的依赖。无论注释如何,Spring 异常翻译都会捕获 Hibernate 异常并将其转换为 Spring 异常。通过将 catch 语句放入与 Spring 异常相关的代码中,您可以比添加任何 @Repository 注释更直接地将代码与 Spring 耦合。如果您不想依赖 Spring,那么只需直接使用 Hibernate 异常即可。基本上有两种方法:

  1. 使用 Hibernate 处理异常和上下文 session (不与 Spring 耦合)。在这种情况下,根本不使用 Spring 异常转换。
  2. 使用 Spring 进行异常和 session 处理(与 Hibernate 松散耦合,与 Spring 附加耦合)。

关于java - 无 Spring Hibernate DAO 和 @Repository 用于异常翻译!这不是依赖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14798071/

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