【问题标题】:reverse engineering in hibernate using spring使用spring在hibernate中进行逆向工程
【发布时间】:2012-03-10 17:16:31
【问题描述】:

Hibernate 可用于通过逆向工程生成所有 DAO 和 hibernate 属性文件。 但是它生成的DAO代码在spring依赖注入方面是不合适的。

那么,我们如何利用hibernate逆向工程技术,根据依赖注入原理生成spring bean呢?

【问题讨论】:

  • 您的意思是创建 DAO 或实体,它们有多少?
  • 是的,正在创建 DAO。基本上,当我们使用休眠创建 DAO 时,它会在所有 DAO 中创建“SessionFactory”对象。与spring一起使用它时,我们希望它遵循spring依赖注入并将“SessionFactory”的对象(而不是创建一个)注入所有DAO。

标签: hibernate spring reverse-engineering


【解决方案1】:

您应该使用通用 DAO,您只需要创建一个指定实体类的子类。或者更现代的方法,如Spring Data JPA 或其前身Hades。然后具体的 dao 注意到的不仅仅是一个空类(或者在 Spring Data JPA/Hades 的情况下是一个空接口)。

因此,不值得花时间为 DAO 搜索和添加生成器方法。你可以在一个小时内手写超过 60 个(如果你有一个通用的 DAO)

我没有太多时间搜索通用 DAO 的示例,所以这是我找到的最好的:http://www.codeproject.com/Articles/251166/The-Generic-DAO-pattern-in-Java-with-Spring-3-and 它至少有一个“错误”,concreate DAO 应该有注释 @987654324 @ 但不是@Component。 -- 无论如何,这个例子说明了我所说的通用 DAO 的意思。

【讨论】:

  • 我明白了你的想法。谢谢。如果可能的话,您能否向我提供小代码 sn-p 以显示您的确切含义。那会让我有更好的理解。感谢您的帮助:)
  • @Rohit Jain:你注意到这 3 个链接了吗?
  • 是的,我正在浏览它们。感谢您的帮助。因此,最好编写自己的 DAO,而不是依赖 Hibernate 这样做。一个非常好的方法是使用您上面提到的 Generic-DAO 模式。我说的对吗??
  • 如果您有另一种更自然的方式(对 java 而言)并且需要更少的时间,那么我们的想法是不要花时间在一些奇怪的源代码生成器上。
  • 明白了。感谢您的建议和帮助。 :-)
猜你喜欢
  • 2021-05-14
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 2011-02-20
  • 2015-02-11
  • 1970-01-01
相关资源
最近更新 更多