У меня есть таблица основных данных.Использование этой таблицы заключается в том, чтобы просто хранить данные (как таковые, они не имеют отношения к другим таблицам).
Это MasterDataEntity
@Id
@Column(name = "TYPE_ID")
private Integer id;
@Id
@Column(name = "DESCRIPTION")
private String description;
В другой таблице (функционалтаблица), я хочу присоединиться к этой таблице.Например:
Это MainTableEntity:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "TYPE_ID")
private MasterDataEntity masterDataEntity;
Логическим намерением здесь является то, что Maintable должен содержать один из Type_Id MasterTable (не обязательно для всех строк даже).
Я не хочу хранить какую-либо информацию о MainTable в MasterTable.Все, что я хочу, - это только существующие значения из основной таблицы, которые могут быть добавлены в основную таблицу.
Помимо вышеизложенного, я сделал следующие запросы, чтобы отметить отношение FK:
ALTER TABLE MAIN_TABLE ADD TYPE_ID NUMBER;
ALTER TABLE MAIN_TABLE ADD FOREIGN KEY (TYPE_ID ) REFERENCES MASTER_TABLE(TYPE_ID );
С помощью приведенного выше кода я получаю сообщение об ошибке: Внешний ключ, ссылающийся на MasterDataEntity из MainTableEntity, имеет неправильный номер столбца.должно быть 2.
Я попытался найти причину, но не смог получить какую-либо полезную информацию.Я новичок в Hibernate, и, возможно, я могу делать что-то не так, исходя из своих требований.
Может кто-нибудь подсказать, что здесь не так и что я должен делать для достижения своих целей?
Спасибо
PS: Я упомянул только соответствующую информацию.Очевидно, что в MainEntity есть много других столбцов, тогда как MasterEntity имеет только 2 столбца.Дайте мне знать, если требуется какая-либо информация.