如何生成Hibernate hbm xml文件&现有数据库模式中的实体类?
答案 0 :(得分:3)
我已经非常愉快地使用了Hibernate Tools(在他们的网站上给出的示例)。 下面,我详细介绍了我的具体,高级和有趣(我认为)用例。
实际上,我在我们的大项目面临着一个有趣的挑战(接近800个桌子,数据库驱动的团队)
但是大部分表都不是新的,我已经有了java实现和.hbm.xml。 两者有时都是从它们最初生成的数据库中修改过来的,因此不可能在保证不重新生成的情况下重新生成它们。 我需要迁移实体,尽可能少地改变(即只有注释)!
这也需要快,因为我们典型的旧实体有大约100个成员(自己的db列,加上来自反向外键的实体集合!)。
注意:两个实体无法使用生成的完整构造函数进行编译,它们打破了256个参数限制!但是我虽然这个构造函数无论如何都没用,谁能记住256个参数的顺序,所以我把它删除了。
对于映射迁移,我使用了Hibernate Tools(根据需要自定义,模板和代码),如下所示:
信息来源是.hbm.xml文件,带有hibernate.cfg.xml文件
注意:我必须首先解压缩hibernate.cfg.xml,替换用于包含列表的spring bean。但这对于像Squirrel这样的数据库工具也很有用,可以使用它来启用HQL ...
生成的输出是X2.java文件(对于X.java类,在同一个包中),只包含字段,getter和注释 (没有制定者或构造者)(通用集)
我会使用Eclipse编译器(错误“重复...”)来仔细检查我的编辑,使其更快,更不容易出错(错误不是一个选项,我们有许多客户端在生产!)。对于每个迁移的类,我将从生成的类复制到现有的类:
对于好奇的人来说,这个月我们接近200个带注释的实体:-)。 典型的100字段实体需要大约30分钟的迁移工作。 剩下的600个实体只剩下300个小时来完成这个cut'n粘贴! ; - )
答案 1 :(得分:1)
答案 2 :(得分:1)
您应该使用hibernate逆向工程工具。有关详细信息,请参阅hibernate reverse engineering tools documentation。
我不清楚如何生成JPA带注释的类,但如果这是一个新项目,您可能想要考虑不再使用hbm.xml文件,而是支持注释。
答案 3 :(得分:0)
Netbeans具有生成配置文件,带注释文件和更多
的功能