Jpa 按属性映射的Spring Roo基数
我试图使用一个映射来映射一个Jpa 按属性映射的Spring Roo基数,jpa,entity-relationship,spring-roo,cardinality,Jpa,Entity Relationship,Spring Roo,Cardinality,我试图使用一个映射来映射一个地址实体和一个人实体:“每个人只有一个地址,但一个地址可以有很多人” @RooJavaBean @生根 @RooEntity(identifierColumn=“addressID”) 公共课堂演讲{ @OneToMany(cascade=CascadeType.ALL,**mappedBy=“address**”) private Set persons=new HashSet(); } 我不知道用什么来映射地址实体(粗体),我对JPA(Eclipse链接)和Sp
地址
实体和一个人
实体:“每个人只有一个地址,但一个地址可以有很多人”
@RooJavaBean
@生根
@RooEntity(identifierColumn=“addressID”)
公共课堂演讲{
@OneToMany(cascade=CascadeType.ALL,**mappedBy=“address**”)
private Set persons=new HashSet();
}
我不知道用什么来映射地址实体(粗体),我对JPA(Eclipse链接)和Spring roo的经验很少,但我认为
mappedBy应该等于addressID
,对于我的Person实体上的双向manytone
,mappedBy应该等于personID?,正如任何JPA文档都会告诉你的那样(所有JPA实现都提供了它们),mappedBy是Person类中“Address”类型字段的名称。如果您没有该类型字段的Person,则关系不是双向的,因此您不使用“mappedBy”感谢您的解释,那么这两个实体是如何映射的?它们是通过其唯一ID映射的吗?如果要读取1-N JPA关系上的文档,请查看并选择是单向还是双向,以及是否使用FK或联接表。
@RooJavaBean
@RooToString
@RooEntity(identifierColumn = "addressID")
public class Address {
@OneToMany(cascade = CascadeType.ALL, **mappedBy = "address**")
private Set<Person> persons = new HashSet<Person>();
}