Java 从MySQL数据库生成Hibernate映射的最佳工具是什么

Java 从MySQL数据库生成Hibernate映射的最佳工具是什么,java,mysql,hibernate,servlets,orm,Java,Mysql,Hibernate,Servlets,Orm,我在servlet中使用hibernate访问数据库。DB包含很多外键、复合键和反向引用 你能给我推荐一些工具,用java将MySQL数据库反向工程为面向对象文件,这样我就可以将它与hibernate一起使用。看看哪些工具可以让你对现有数据库进行反向工程。我认为最好的工具是MinuteProject 查看: JPA旁边还有一个Spring+Hibernate轨迹,因此您可以根据Hibernate的需要使用它。IDE通常提供这样的实体生成。 例如,如果您使用Netbeans,只需从JavaS

我在servlet中使用hibernate访问数据库。DB包含很多外键、复合键和反向引用


你能给我推荐一些工具,用java将MySQL数据库反向工程为面向对象文件,这样我就可以将它与hibernate一起使用。

看看哪些工具可以让你对现有数据库进行反向工程。

我认为最好的工具是MinuteProject

查看:


JPA旁边还有一个Spring+Hibernate轨迹,因此您可以根据Hibernate的需要使用它。

IDE通常提供这样的实体生成。 例如,如果您使用Netbeans,只需从JavaSE/JavaEE项目中的数据库中转到File/New/Persistence/Entity类即可生成JPA实体。
顺便说一句,在可能的情况下使用标准JPA(2)机制是一个好主意,这样就不会依赖于特定的O/R映射程序(如Hibernate)或数据库。

我们使用Hibernate工具
Hibernate.reveng.xml
文件的帮助下生成
*.hbm.xml
文件。然后,我们应用Eclipse的Hibernate Synchronizer插件来使用
*.hbm.xml
文件生成实体和DAO

hibernate.reveng.xml
填补自动生成无法猜出您在想什么的部分

Hibernate Synchronizer的主要优点是为生成的实体/DAO创建基类。将自定义属性/方法添加到基类的子类(再次自动生成)。这里的优点是,如果您对数据库进行更改并重新生成,那么(对子类)所做的更改将保持不变

无论您选择什么工具,都要注意构建一个代码生成简单、轻松的系统,不仅是第一次,而且是在项目的高级阶段。否则你将失去所有优势。

我同意克里斯的观点

的版本0.5.5还为复合键生成一个用@Embeddeble注释的类。实体类将@EmbeddedId作为实体,并引用可嵌入类。对于复合键的外键部分,它生成关联的@MapsId

同时,JPA2模板还没有涵盖复合外键模式


希望有帮助。

我试过用它。。但是在复合键的情况下,它给了我错误的映射。Hibernate工具为您提供了实现自己的反向工程策略的选项(参见第6.3章自定义策略)。考虑到数据库布局的复杂性,几乎所有通用的逆向工程解决方案都会受到限制。也许你对这个盒子期望很高。是的。。如果工具不起作用,我会手动写。。学习治疗在这个框架中有点高。请在回答中标出。。