java - 预定义表 USER 和我自己的表之间的 JHipster 关系

标签 java jhipster jdl

我需要定义与预定义“用户”表相关的新表。 请帮助我为此编写正确的 JDL 代码 entity diagram

我尝试写入文件“mytable.jh”并导入 :>jhipster import-jdl mytable.jh

entity MyTable{
    userid Long, //relation to table jhi_user
}

relationship OneToMany {
  User{id} to Mytable{userid}
}

得到了

{ name: 'IllegalAssociationException',
  message: 'Relationships from User entity is not supported in the declaration between User and Mytable.',
  prototype:
   Error

最佳答案

基本上您不能向 jhi_user 表添加新字段,并且 JDL 不会让您做任何会导致这种情况发生的事情。

可以添加对另一个实体的用户对象引用,例如

relationship ManyToOne {
  Mytable{userid} to User
}

请注意,我没有{anything} 放在 User 之后——这意味着 User 有不知道它与哪个 Mytable 关联。如果你想从 Mytable 实例“备份”到 User 实例,你必须从 Mytable 端搜索; User 不会有任何与 Mytable 实例相关的字段或 getter/setter。

另请注意,userid 字段不一定严格用于关联两个实体。 JDL 和代码生成实际上负责为您创建关系和主/外键。所以

entity Car {
}

relationship ManyToOne {
  Car{user} to User
}

表示对于每个User,有许多Car,或者换句话说,对于每个Car,都有一个user,其在 Car 对象中的字段名称将为 user。所以你会有 Car.getUser() 方法等。

当您在 entity block 中定义字段时,您定义的是该实体的属性,不是关系——该属性独立于所有其他对象在你的模型中。

虽然您仍然没有 User.getCars() 方法。这在当前的 jHipster 设计中是不可能的。

关于java - 预定义表 USER 和我自己的表之间的 JHipster 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45280444/

相关文章:

java - 无法解析的日期异常,找不到 2014-11-28T13 :46:23-08:00 的模式

java - MapStruct继承,不止一个配置原型(prototype)是application

Jhipster 应用程序中的 Iframe 幻灯片 google 被阻止

date - JHipster JDL 中的 Instant 是什么?

jhipster - 如何在 JHipster React 项目中更改或删除 "my-suffix"?

docker - 如何在Docker上运行JHipster UAA?

java - 致命异常 AsyncTask #1 android Watson 翻译器

java - UIMA 鲁塔 : Creating new annotations by combining existing annotation's features in plain Java

java - 从通过 NFC 接收的 NDEF 消息中获取文本

angular - Angular JHipster 项目中的自定义日期选择器选项