Java JPA中外键的主详细信息ID
我有三张桌子, 其中一个是(场景),它是主表, 另外两个表(链接、节点)是它的详细信息。 我希望JPA为我持久化外键,同时在链接和节点表中持久化场景,而不需要我的干预, 有人帮我做这个吗 情景:Java JPA中外键的主详细信息ID,java,jpa,jakarta-ee,entity,master-detail,Java,Jpa,Jakarta Ee,Entity,Master Detail,我有三张桌子, 其中一个是(场景),它是主表, 另外两个表(链接、节点)是它的详细信息。 我希望JPA为我持久化外键,同时在链接和节点表中持久化场景,而不需要我的干预, 有人帮我做这个吗 情景: @Entity @NamedQueries({ @NamedQuery(name = "Scenario.findAll", query = "select o from Scenario o") }) public class Scenario implements Serializable { p
@Entity
@NamedQueries({ @NamedQuery(name = "Scenario.findAll", query = "select o from Scenario o") })
public class Scenario implements Serializable {
private String className;
@Id
@Column(nullable = false,name="ID")
private int id;
private String linkFromPortIdProperty;
private String linkToPortIdProperty;
private String UUID;
@OneToMany(mappedBy = "scenario", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<Link> linkDataArray;
@OneToMany(mappedBy = "scenario1", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private List<Node> nodeDataArray;
节点:
当主实体(场景)被持久化时,对要持久化的所有细节对象使用CascadeType.ALL
@OneToMany(mappedBy = "scenario",cascade = CascadeType.ALL, orphanRemoval = true)
private List<Link> linkDataArray;
@OneToMany(mappedBy=“scenario”,cascade=CascadeType.ALL,orphandremovation=true)
私有列表链接数据数组;
阅读Vladmichalcea编写的本指南:
当主实体(场景)被持久化时,对要持久化的所有细节对象使用CascadeType.ALL
@OneToMany(mappedBy = "scenario",cascade = CascadeType.ALL, orphanRemoval = true)
private List<Link> linkDataArray;
@OneToMany(mappedBy=“scenario”,cascade=CascadeType.ALL,orphandremovation=true)
私有列表链接数据数组;
阅读Vladmichalcea编写的本指南:
我想我理解你所说的不干预的意思。但是,为了清楚起见,我建议您在代码片段中添加用于保存
…persist(link)
的代码以及数据库中的预期结果。我想我理解您所说的无干预的意思。但是,为了清晰起见,我建议您在代码片段中添加用于保存…persist(link)
的代码以及数据库中的预期结果。
@OneToMany(mappedBy = "scenario",cascade = CascadeType.ALL, orphanRemoval = true)
private List<Link> linkDataArray;