У меня есть таблица (t1), которая имеет ссылку внешнего ключа на таблицу (t2) в другой базе данных.У t1 также есть другой внешний ключ, ссылающийся на таблицу (t3) в той же базе данных.Я использую Spring Boot, Maven и JPA в моем проекте.Я могу установить соединение с 2 базами данных.Но когда я пытаюсь вставить данные в t1, он генерирует исключение ConstraintViolation для внешнего ключа, ссылающегося на t2.
Я попытался удалить другой внешний ключ и затем вставить данные, но это все равно не удается.Только когда я удаляю ограничение внешнего ключа из таблицы в другой базе данных, это позволяет вставить.Пожалуйста, предоставьте решение или дайте мне знать, если это невозможно.
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);
}
}