有没有一种方法可以从现有数据库模型生成实体,或者我必须自己用yeoman(yo)创建所有实体?
我从Spring Roo项目中听说过这种技术。
不,您不能,因为jhipster yeoman生成器“仅”根据模板+给定的参数/选择来搭建实体。在此步骤中,它不会询问外部来源,例如数据库。
生成器为jpa,angular和liquibase更改日志创建所有文件。最后,liquibase在启动过程中使用更改日志创建表(如果尚不存在)。
因此,可以说jhipster使用“实体优先”而不是“表优先”的方法。
尽管这将是一个不错的功能,但我认为它不会集成到jhipster中,因为现有数据库是如此不同,以致于很难处理每种可能性。主键有不同的选择,不同的数据类型,多对多关系或概括的不同实现等。或者您可以在Github上请求一个新功能,也许可以实现...
但是,给出一些指导:我也遇到了同样的情况,我试图将现有的大约50个表和大量数据的数据库迁移到jhipster(这是jhipster 1.6左右),而且我还想到了“数据库重构” [1]。但是,我的“解决方案”是使用jhipster创建一个新数据库,然后使用一些sql语句将数据从旧数据库迁移到新数据库。主要原因:
是的,roo具有用于逆向工程或重构数据库的技术(http://docs.spring.io/spring-roo/reference/html/base-dbre.html)。AFAIK,它仅创建基于JPA的符合roo规范的实体。因此,它与jhipster使用的spring数据JPA也有所不同(与其他jpa反映工具(如[1])相同)
[1]我使用了一个Eclipse JPA插件,该插件以前可以从另一个基于dropwizard的项目中的现有数据库中创建jpa实体类。但是,我没有将它与Spring / Jhipster结合使用。
[2]可以从现有数据库创建liquibase更改日志:http : //www.liquibase.org/documentation/generating_changelogs.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句