Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate-优化多个关系_Java_Hibernate_Jpa_Orm - Fatal编程技术网

Java Hibernate-优化多个关系

Java Hibernate-优化多个关系,java,hibernate,jpa,orm,Java,Hibernate,Jpa,Orm,我需要Hibernate和多对多关系方面的帮助。这是我在这方面的示例模式。这很简单,所以你可以很容易地抓住要点。注意力集中在表PERSON、ADDRESS和PERSON\u ADDRESS上 Java模型就在这里。我的问题是: 拥有那个班级的角色地址是完全错误的吗? 如果我就这样离开,在开发的后期,我会遇到什么问题? 我如何优化它? 我的示例代码是Git repo。类PersonalAddress称为联接表。Hibernate支持联接表,您不需要额外的努力就可以实现它。但我不确定是否可以将其他属

我需要Hibernate和多对多关系方面的帮助。这是我在这方面的示例模式。这很简单,所以你可以很容易地抓住要点。注意力集中在表PERSON、ADDRESS和PERSON\u ADDRESS上

Java模型就在这里。我的问题是:

拥有那个班级的角色地址是完全错误的吗? 如果我就这样离开,在开发的后期,我会遇到什么问题? 我如何优化它? 我的示例代码是Git repo。

类PersonalAddress称为联接表。Hibernate支持联接表,您不需要额外的努力就可以实现它。但我不确定是否可以将其他属性添加到联接表中


对于联接表上的其他属性,您应该使用@Embeddedable和@EmbeddedId注释,但是大多数联接工作都是您自己完成的,请看下面的答案,

您没有简单的M-N关系。它是一个M-N,在关系上有额外的属性,因此引入一个中间类,正如您所做的那样,拥有两个1-N关系是正确的做法。那么,为什么不实际使用它呢?你在这篇文章中没有问题。如果我想亲自收集地址,并收集地址中的人怎么办?是否需要避免私人收集PersonalAddressCollection?