sev*_*ves 6 spring-roo yeoman yeoman-generator jhipster
有没有办法从现有的数据库模型生成实体,还是我必须自己用yeoman(yo)创建所有实体?
我从Spring Roo项目中听说过这种技术.
不,你不能,因为jhipster yeoman发电机"只"根据模板+给定的参数/选择来支撑实体.它不会在此步骤中询问数据库等外部来源.
生成器为jpa,angular和liquibase更改日志创建所有文件.最后,liquibase在启动期间使用changelogs创建表,如果它们尚不存在的话.
所以,你可以说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使用的弹簧数据JPA不同(与[1]等其他jpa-refectoring工具一样的问题)
[1]我使用了一个eclipse JPA插件,它可以在另一个基于dropwizard的项目中从现有数据库创建jpa实体类.但是,我没有尝试将它与Spring/Jhipster结合使用.
[2]可以从现有数据库创建liquibase更改日志:http://www.liquibase.org/documentation/generating_changelogs.html
请检查此助手
https://www.npmjs.com/package/generator-jhipster-db-helper
按照该助手的描述“此JHipster模块使在现有数据库上的映射更加容易。”
您也可以使用此工具:
https://github.com/Blackdread/sql-to-jdl
它将sql文件转换为idl文件,然后可以使用jHipster import-idl功能导入数据库。
这将帮助您加快使用现有数据库生成时髦应用程序的过程
| 归档时间: |
|
| 查看次数: |
8140 次 |
| 最近记录: |