Я создал таблицу с составным ограничением внешнего ключа в базе данных H2 с помощью этого сценария:
CREATE TABLE t1 (
a INT,
b INT,
CONSTRAINT pk_t1 PRIMARY KEY (a,b)
);
CREATE TABLE t2 (
a INT,
b INT,
CONSTRAINT fk_t2 FOREIGN KEY (a, b) REFERENCES t1 (a, b)
);
Затем я использовал Intellij IDEA для подключения к базе данных и отображения DDL для таблицы T2.Я получил следующий вывод, который выглядит так, будто внешний ключ был создан только для столбца B.
CREATE TABLE T2
(
A INTEGER,
B INTEGER,
CONSTRAINT FK_T2 FOREIGN KEY (B) REFERENCES T1 (B)
);
CREATE INDEX FK_T2_INDEX_A
ON T2 (A, B)
Это ошибка в IDEA?Можно ли каким-то образом заставить IDEA показывать правильное ограничение составного внешнего ключа?Или вывод выше нормального синтаксиса для выражения составных ключей?
Я бы ожидал что-то вроде:
CONSTRAINT fk_t2 FOREIGN KEY (a, b) REFERENCES t1 (a, b)