【发布时间】:2017-10-26 13:11:56
【问题描述】:
给定客户端类
public class Client {
private String firstName;
private String lastName;
private Address address;
//..//
}
和地址类
public class Address {
private int houseNumber;
private String streetName;
private String city;
private String state;
private String zipCode;
private String country;
//...//
}
我已经创建了地址类,因为它在其他一些类中使用,我不想复制代码。有没有办法使用 JPA 将地址信息显式放入我的客户端 SQL 表中,而不是创建地址表并使用主键作为两者之间的链接?
【问题讨论】:
-
客户表中是否有类地址的所有信息?那么对于行,您在 Client 和 Address 类中列出了所有数据?
-
是的,我认为这对我来说是理想的。 (话虽这么说,我对 Java 持久性和所有东西还是新手,所以它可能不是最好的解决方案)
-
你为什么不想创建一个地址表?尝试阅读有关数据库规范化的信息。
-
在我看来,如果作为一个例子,我有使用地址的客户和商店,这意味着在我的地址表中,我的商店地址和客户地址对我来说毫无意义。
-
地址是否属于客户或店铺,是否存储无关紧要。商店可以指向它需要的地址,也可以指向客户。如果您没有地址表,例如两个商店有相同的地址你存储了两次信息。它增加了你的冗余!