Как сопоставить 2 таблицы 1 классу сущности с аннотацией гибернации? - PullRequest
0 голосов
/ 08 марта 2011

Я новичок в Hibernate. Теперь у меня проблема. У меня есть 2 таблицы (Timetable и Timetable_backup) с похожей структурой, потому что таблица schedule_backup - это просто резервная версия таблицы расписания, которая содержит текущие данные. Сейчас я не знаю, как получить все данные из прошлого в настоящее. В спящем режиме мы не можем использовать UNION, как в SQL для запроса. Поэтому я пытаюсь отобразить 2 таблицы на 1 объект, используя Inheritance и @mappedsuperclass, но у меня это не работает. Пожалуйста, помогите мне с этим. Если контекст не ясен, пожалуйста, сообщите мне.

С уважением

Nathan

Ответы [ 3 ]

0 голосов
/ 08 марта 2011

Вы не можете сделать это.

Типичный обходной путь - сопоставить сущность с основной таблицей и использовать собственные запросы SQL для доступа к таблице резервных копий.

0 голосов
/ 22 декабря 2012

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

В любом случае я нашел следующую ссылку, которая объясняет, как создавать таблицы с использованием одного POJO Отображение одного POJO на несколько таблиц в Hibernate .

Поскольку hibernate не поддерживает объединение. Я извлек результаты из 2 запрошенных (основная таблица, а также резервная таблица) и использовал listTimeTable.addAll (listbackTimeTable); Это даст тот же результат, что и объединение всех операций.

Еще раз, пожалуйста, опубликуйте свою реализацию в интересах этого сообщества ...

Спасибо

Shirish

0 голосов
/ 08 марта 2011

Вероятно, вам нужно что-то вроде Envers , плагин для Hibernate, который заботится о версиях записей в таблице.Вы просто используете несколько аннотаций в своих классах, и это обеспечивает интерфейс для поиска прошлых записей среди прочего.

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