使用JPA插入多个表

问题描述

我有2个数据库表,表A和表B,两个表都有复合键。

表A和表B的某些列可以具有相同的数据,包括表A和表B的组合键,但列名不同。

在将数据插入表B的同时,我还希望将公共数据也更新到表A。

类似地,当我更新公共数据的值时,它应该在两个表中更新。

下面是现有的代码示例。如何修改它以实现上述插入和更新类型?

对于相同的A_ID,B_ID和C_ID,A_CD_NAME和B_CD_NAME将具有相同的数据。

我们也有外键映射。



@Entity
@Table(name = "table_A")
public class TableA{

    @EmbeddedId
    private TableAPk tableAPk;

    @Column(name = "A_CD_NAME")
    private String aCdName;

   /* Rest of the attributes  */
}


@Entity
@Table(name = "table_B")
public class TableB{

    @EmbeddedId
    private TableBPk tableBPk;

    @Column(name = "B_CD_NAME")
    private String bCdName;

   /* Rest of the attributes  */
}


@Embeddable
public class TableAPk implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(name = "A_A_ID")
    private String aaId;

    @Column(name = "A_B_ID")
    private String abId;

    @Column(name = "A_C_ID")
    private String acId;
}

@Embeddable
public class TableBPk implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(name = "B_A_ID")
    private String baId;

    @Column(name = "B_B_ID")
    private String bbId;

    @Column(name = "B_C_ID")
    private String bcId;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)