【问题标题】:How to properly extend JHipster User Entity如何正确扩展 JHipster 用户实体
【发布时间】:2016-11-05 10:18:18
【问题描述】:

我最近开始了一个新的 JHipster 项目,我在项目中需要扩展一个内置的用户实体。

例如添加一些新属性(以及数据库中的列以保持这些属性)。但是,由于这是内置功能,并且 User 实体未在 .jhipster 文件夹中列出,因此我正在寻找一种正确的方法。

最简单的选择是更改 User.java 和 liquibase 迁移 xmls 和所有相关文件,但这可能会成为未来 jhipster 升级的障碍(在项目文件夹中运行 yo jhipster,就像这里解释的 jhipster docs 一样)。 另一种可能的途径可能是创建一个与用户实体一对一关系的新实体,但我不确定如何准确地做到这一点:使用yo jhipster:entity 或?

以前有没有人成功完成过这个?在这种情况下,我应该遵循哪些最佳做法?

【问题讨论】:

    标签: java angularjs spring-boot jhipster


    【解决方案1】:

    能够轻松跟随 JHipster 升级的最简单的解决方案是创建一个与 User 具有一对一关系的新实体(例如 UserExtraInfo),并且该关系的所有者应该是我们不想要的新实体修改用户。您将使用 yo jhipster:entity 生成新实体。

    由于related issue,您必须至少使用发布 JHipster 3.5.0 才能使其正常工作。

    【讨论】:

    • 谢谢,这正是我想要的。
    • 我尝试在执行npm link 之后分叉 jhipster 生成器和运行实体子生成器,但生成器的行为仍然与使用 npm install -g generator-jhipster 安装的生成器相同,并且表明它是 v3.4.2。我做错了什么?
    • 您是否在克隆目录中的 npm 链接之前运行了 npm install ?版本没有任何意义,因为它在 master 上仍然是 3.4.2
    • 是的,我首先在 jhipster 项目文件夹中运行 npm install 然后切换到克隆的生成器仓库并执行 npm link 然后尝试在 jhipster 项目根目录中运行 yo jhipster:entity UserInfo
    • 我的意思是 npm install 在克隆的生成器文件夹中,而不是在 jhipster 项目文件夹中。无论如何,您是否也可以尝试删除项目文件夹中的 node_modules ,然后在那里重新运行 npm install ,因为那里有 jhipster 本地副本,或者您可以尝试生成一个新项目
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多