2 спящих объекта в одной таблице базы данных. Это возможно? - PullRequest
1 голос
/ 11 декабря 2010

Я работаю над модульным веб-проектом с функциональностью по умолчанию, которую можно расширить с помощью «плагина», который является дополнительной библиотекой Java.

«Базовый» проект знает сущность пользователя, которая сопоставлена ​​с пользователемТаблица.Проект плагина расширяет этого пользователя как расширенного пользователя, который также отображается в одну и ту же таблицу -

Обе сущности должны сосуществовать, где пользователь знает только некоторые из столбцов.в разных библиотеках, включенных в один и тот же classapth.

Как заставить это работать с hibernate?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 11 декабря 2010

Предполагая, что вы имеете в виду, что ExtendedUser является классом, расширяющим User, вы можете использовать стратегию наследования Hibernate "таблица-на-класс-иерархию".См. документы здесь .Используя аннотации, вы используете InheritanceType.SINGLE_TABLE (см. Документы 2.2.4.2 здесь ).

1 голос
/ 13 декабря 2010

Я однажды пытался сопоставить таблицу с двумя объектами Java (без схемы наследования).Я просто хотел поэкспериментировать с некоторыми другими сопоставлениями при сохранении старой сущности.

Дело в том, что если ваши User и ExtenderUser совместно используют одну и ту же коллекцию сущностей X, Hibernate будет жаловаться на то, что не знает, к какой сущности X подключен обратно.: User или ExtenderUser.

Итак, суть в том, что в моем случае это не сработало, и это не правильно.

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

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