在jhipster中向用户实体添加属性

Ich*_*aki 8 spring jhipster

我想为用户实体添加一些属性,当我用Google搜索它时,我发现了一个类似的问题:

如何修改jhipster生成的现有实体?

当我按照这篇文章中的步骤进行操作时,我找不到文件user.json,就像@Roberto所提到的那样

1)编辑代表你的实体的json文件(添加/删除字段,语法非常简单,如果需要对'fieldsContainOneToMany'等常规实体属性进行任何更改,请检查文件的末尾),你会找到它:

<jhipster_root_folder>/.jhipster/entityName.json

我怎么解决这个问题?

Dom*_*i W 10

我认为最好的解决方案是@Pedro和@alcuvi(他们引用JHipster文档)提供的两种解决方案之间的妥协:

  1. 首先,创建一个带有附加字段的"ExtendedUser"实体(不要忘记使用git,你必须撤消/删除实体).与"用户"的一对一关系不是必需的.

  2. 之后,您可以将"ExtendedUser"中的许多部分复制到JHipster应用程序的其他部分:

    • Liquibase changelog列(也将它们添加到users.csv)
    • ExtendedUser.java→User.java和UserDTO.java
    • extendedUser-dialog.*→register.html/.controller.js和settings.html/.controller.js
  3. 调整AccountResource.java和UserService.java(如果使用它们,则调整UnitTests).此步骤主要通过使用之前步骤中复制的getter和setter来完成.JHipster文档(https://jhipster.github.io/tips/022_tip_registering_user_with_additional_information.html)在这里可能会有所帮助.

  4. 删除"ExtendedUser"实体(使用git,或手动,另请参阅:如何使用jhipster创建实体后删除实体?)

**优点是:

  • 使用JHipster代码生成功能
  • 没有其他实体(附带新的数据库表和许多文件)

我希望这些信息将来会帮助其他开发者!

  • 谢谢。这是我几年前在另一个项目中使用的解决方案,现在我再次遇到它。我真的以为现在就可以解决了。JHipster团队!!只需通过相同的 JSON 机制创建 User 类,然后添加安全性所需的额外内容即可!为什么你要让这件事变得特别,从而让你感到痛苦? (3认同)

Ped*_*rid 4

User 实体是 JHipster 用来管理所有用户管理内容(例如电子邮件、密码等)的实体,因此您不会找到 User.json 文件,因为那是自动生成的实体。这些 .json 文件仅在您运行时创建yo jhipster:entity <entityName>

为了向 User 实体添加/删除字段,您必须手动执行此操作,这意味着编辑User.java、创建 liquibase 变更集并根据需要修改 UI 中的所有相关文件。