我有一个表(t1),该表具有对另一个数据库中表(t2)的外键引用。 t1还具有另一个外键,该外键引用同一数据库中的表(t3)。 我在项目中使用spring boot,maven和JPA。我能够建立到2个数据库的连接。但是,当我尝试将数据插入t1时,它会在引用t2的外键上引发ConstraintViolation异常。
我尝试删除另一个外键,然后插入数据,但仍然失败。 仅当我从另一个数据库的表中删除外键约束时,才允许插入。 请提供解决方案,或者如果无法解决,请告诉我。
public class T1 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "t1Id")
private int t1Id;
@Id
@Column(name = "fkT3")
private String fkT3;
@Id
@Column(name = "fkT2")
private int fkT2;
// getters and setters
}
public class T2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column (name = "fk_T2")
private int fkT2;
@Column(name = "col2")
private String col2;
//getters and setters
}
public class T3 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int t3Id;
@Column(length = 45)
private String fkT3;
//getters and setters
}
public class PostServiceImpl {
@Autowired
private T1Repository t1Rep;
@Autowired
private T2Repository t2Rep;
@Autowired
private T3Repository t3Rep;
public void insertData() {
//do soemthing
t1Rep.saveAll(t1DataList);
}
}