gpt4 book ai didi

java - 没有 FK 的 JPA 关联中的 NULL 处理

转载 作者:行者123 更新时间:2023-12-02 09:02:05 25 4
gpt4 key购买 nike

MoldBomInfo VO

@OneToOne
@JoinColumn(name = "MACHINE_CODE", insertable = false, updatable = false)
private MachineInfo machineInfo;

机器信息语音

public class MachineInfo {
@Id
@Column(name="MACHINE_CODE")
private String machineCode;

@Column(name="MACHINE_NAME")
private String machineName;

@Column(name="STD_LEAD_TIME")
private int stdLeadTime;

@Column(name="FACTORY_CODE")
private String factoryCode;

@Column(name="MCH_GRP_CODE")
private String mchGrpCode;

MoldBomInfo 表

enter image description here

机器信息表

enter image description here

错误代码

javax.persistence.EntityNotFoundException: Unable to find e3view.factoryview.main.mold.model.MachineInfo with id 

当前未设置 FK。我需要根据 MachineBomInfo 表的 MACHINE_CODE 列获取 MachineInfo 表的 MACHINE_NAME。

问题在于 MachineBomInfo 表中的 MACHINE_CODE 可能为 NULL。因此,当使用JPA时,会发出ERROR CODE。

目前我没有操作表的权限。

不设置FK,如何通过JPA得到我想要的结果?

最佳答案

JoinColumn ,如果您不提供referencedColumnName ,默认column将是ID .

@OneToOne
@JoinColumn(name = "MACHINE_CODE", insertable = false, updatable = false, referencedColumnName = "HERE_YOUR_REF_COLUMN")
private MachineInfo machineInfo;

关于java - 没有 FK 的 JPA 关联中的 NULL 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com