我正在创建一个 Spring Web 应用程序,将信息存储在关系数据库中。如果我正确理解中继数据库中链接表的逻辑,那么每个对象(客户、订单、产品等)都应该有一个唯一的 id,通过它可以方便地链接它们;以简化的形式,它看起来像这样

我是否正确理解数据库中表的属性和java中类对象的参数不必匹配?那些。我的类Order(表 1)很可能有一个类型字段Customer(Customer 对象有九个参数,其中之一是 id),但是当“链接”java 代码与数据库时,我不会将整个客户端传输到数据库表,但只有他的id。另外,告诉我,该类是否需要Customer有一个 id 参数,或者可以由数据库分配吗?我无法理解数据库和程序代码之间的功能差异。
public class Client {
private static int num = 1;
private final int id;
private String name;
private long tel;
private String comment;
public Client (String name,long tel) {
this.id = num++;
this.name=name;
this.tel=tel;
this.comment=null;
}
public class Ordering {
private static int num = 1;
private final int id;
private Client client;
private String product;
private PriceOrder price;
public Ordering(Client client, String product, int prepayment) {
this.id = num++;
this.client = client;
this.product = product;
this.price = new PriceOrder(prepayment);
}
如果我正确理解你的问题,那么你需要查看带有模型的映射表。Spring中的映射可以通过注解来完成,注解中可以关联表和字段,并指定它们之间的交互。然后直接使用模型对象。
更多详细信息:将单个实体映射到 JPA 中的多个表
例子: