我需要定义与预定义'User'表相关的新表。 请帮我写一个正确的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
答案 0 :(得分:6)
基本上你不能在jhi_user表中添加新字段,JDL不会让你做任何可能导致这种情况发生的事情。
你可以将用户对象引用添加到另一个实体,如
relationship ManyToOne {
Mytable{userid} to User
}
请注意,{anything}
后我不放User
- 这意味着User
无法知道Mytable
是哪个&#39 ; s与...相关联。如果你想"备份"从Mytable
的实例到User
的实例,您必须从Mytable
侧进行搜索;用户不会拥有与Mytable
实例相关的任何字段或getter / setter。
另请注意,userid
字段不一定严格用于关联两个实体。 JDL和代码生成实际上负责为您创建关系和主/外键。所以
entity Car {
}
relationship ManyToOne {
Car{user} to User
}
表示每个User
,有Car
个,或者说每个Car
的另一种方式是user
个Car
,其字段名称在{ {1}}对象将为user
。因此,您将拥有Car.getUser()
方法等
在entity
块中定义字段时,您要定义该实体的属性,不关系 - 该属性独立于所有其他对象你的模特。
但你仍然没有User.getCars()
方法。目前的jHipster设计无法做到这一点。
答案 1 :(得分:0)
我认为jhipster doc中的这个tip可能会对你有所帮助,我从来没有看过它,但是在我的项目中,一个配偶做了这件事,我正在努力工作。希望这可以帮助。您可以随时询问Paul-Etienne以获取更多信息,他很乐意为您提供帮助。