Вставить данные в таблицу, которая имеет внешний ключ из таблицы в другой базе данных - PullRequest
0 голосов
/ 31 января 2019

У меня есть таблица (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);
  }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...