2012-02-20 109 views
1

Hibernate可用于使用逆向工程生成所有DAO和休眠属性文件。 但是它生成的DAO代码在弹簧依赖注入方面并不合适。使用弹簧进行休眠的逆向工程

那么,我们如何使用hibernate逆向工程技术来生成基于依赖注入原则的spring bean?

+0

你的意思是创建DAO或实体,以及它们有多少? – Ralph 2012-02-20 10:59:04

+0

是的,创建DAO。基本上,当我们使用hibernate创建DAO时,它会在所有DAO中创建“SessionFactory”对象。在Spring中使用它时,我们希望它遵循Spring依赖注入,并将所有DAO的“SessionFactory”注入对象(而不是创建一个)。 – 2012-02-20 11:37:02

回答

2

你应该使用一个通用的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它至少有一个“错误”结构DAO应该有注释@Repository而不是@Component。 - 无论如何,这个例子说明了我的意思是通用的DAO。

+0

我明白了。感谢那。如果可能的话,你可以向我提供一小段代码片段,显示你的意思。这会让我更好的理解。 Thanx为你提供帮助:) – 2012-02-20 11:51:54

+1

@Rohit Jain:你注意到了3个链接? – Ralph 2012-02-20 11:59:26

+0

是的,我正在通过他们看。感谢您的帮助。所以最好是编写你自己的DAO,而不是依靠Hibernate来做。一个很好的方法是使用上面刚刚提到的Generic-DAO模式。我对么 ?? – 2012-02-20 12:05:26