【发布时间】:2021-08-16 01:44:03
【问题描述】:
我在 Java 中有一个具有 @Id 列的类。这是 CAR 的主键:
@Entity
@Table(name = "car")
public class CarDomain {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(nullable = false)
private UUID id;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "car")
private EngineDomain engine;
}
在 Engine 类中,我有一个主键(引擎的 ID)和一个外键 car_id 来引用引擎所属的 CAR 的 ID:
@Entity
public class EngineDomain {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(nullable = false)
private UUID id;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "car_id", referencedColumnName = "id")
private CarDomain car;
}
在我的 PostgresDB 中,Engine 表正在加载所有值为 NULL 的 car_id 列。
在表 CAR 中插入 engine_id ForeignKey,所有值都正确加载。汽车所属的engine_id。但是,当我在 Engine 表中有 @JoinColumn 来获得 car_id 时,值会变为 NULL。
【问题讨论】:
标签: java jpa spring-data-jpa data-annotations spring-annotations