org.hibernate.MappingException: ассоциация из таблицы X относится к несопоставленному классу - PullRequest
0 голосов
/ 11 апреля 2019

У меня проблема с созданием сущностей из инструментов гибернации.

Я пытаюсь сгенерировать сущности из 4 таблиц, pru1 и pru2 имеют отношение многие ко многим в таблице ассоциации pru3. Клавиши pru3 передаются как внешние ключи в таблицу pru4.

  pru1 ---> pru3 <---- pru2
              |
              |
              V 
            pru4

Если я не ошибаюсь, у сущности pru1 должен быть список pru2, pru2, список pru1 и pru4, объект pru1 и еще один pru2.

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

org.hibernate.MappingException: ассоциация из таблицы PRU4 ссылается на не отображенный класс: com.entities.Pru3 Ассоциация из таблицы PRU4 относится к несопоставленному классу: com.entities.Pru3 org.hibernate.MappingException: ассоциация из таблицы PRU4 ссылается на несопоставленный класс: com.entities.Pru3 Ассоциация из таблицы PRU4 относится к несопоставленному классу: com.entities.Pru3

В конфигурации инструментов гибернации я проверил все опции, в том числе обнаружение множества таблиц

Можно ли сделать этот тип картирования с помощью инструментов гибернации?

Заранее спасибо

1 Ответ

0 голосов
/ 12 апреля 2019

Я решил свою проблему очень не элегантно.

Имея отношение, которое приходит из таблицы, которая решает кардинальность N: N, необходимо создать эту сущность.

Я мог бы снять флажок «Обнаружить таблицы многие-ко-многим», но у меня есть другие таблицы отношений N: N, и я не хотел, чтобы они создавались.

Решение, которое я выбрал, состояло в том, чтобы создать дополнительное поле в моей таблице PRU3, чтобы заставить инструменты гибернации генерировать сущность.

Позже я стер поля в BBDD и в сущности.

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

...