我需要定义与预定义“用户”表相关的新表。 请帮助我为此编写正确的 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/