Как создать «фасадный» стол? - PullRequest
1 голос
/ 25 марта 2010

Устаревшая база данных содержит таблицу соединений, которая связывает таблицы table1 и table2, и содержит только два внешних ключа:

TABLE_ORIG:
table1_id
table2_id

Чтобы использовать эту таблицу с использованием JPA, мне нужно создать суррогатный первичный ключ для таблицы ссылок. Однако существующая таблица вообще не должна изменяться.

Я хотел бы создать другую таблицу, которая будет содержать также первичный ключ в дополнение к внешним ключам:

TABLE_NEW:
id
table1_id
table2_id

Все изменения в TABLE_ORIG должны быть отражены в TABLE_NEW и наоборот.

Это выполнимо в mysql?

Ответы [ 2 ]

1 голос
/ 25 марта 2010

То, что вы хотите, называется «вид».

0 голосов
/ 26 марта 2010

"Чтобы использовать эту таблицу с использованием JPA, мне нужно создать суррогатный первичный ключ для таблицы ссылок."

Вы указали причину, по которой вам не следует «использовать эту таблицу с использованием JPA».

Кроме этого:

"Это выполнимо в mysql?"

Я полагаю, что должна быть возможность использовать триггеры для синхронизации двух таблиц (любая вставка в TABLE_ORIG вызывает вставку в TABLE_NEW и, возможно, также наоборот, и то же самое для удалений).

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