Я предполагаю, что это относится только к Hibernate (я только сейчас начинаю использовать эти две платформы).У меня есть приложение, которое отслеживает сессии для пользователей.Пока сеанс активен, объект Session сохраняется в таблице для активных сеансов.Когда пользователь переходит в автономный режим и сеанс заканчивается, сеанс перемещается во вторичную хронологическую таблицу.
Как мне добиться этого с помощью Hibernate?Прямо сейчас у меня есть файл Session.hbm.xml, который отображает объект Session в таблицу активных сессий.Могу ли я сопоставить его с дополнительной таблицей и каким-то образом указать, к какой таблице я хочу, чтобы она сохранялась, когда я вызываю saveOrUpdate?
Моя репутация в настоящее время не позволяет мне быстро ответить на свой вопрос.Я не хочу, чтобы кто-то тратил свое время на это, так как я нашел ответ, поэтому я публикую его здесь как правку.
Я могу сделать это, используя сущностьатрибут имени в файле сопоставления.Я создал второе сопоставление, идентичное Session.hbm.xml, под названием HistoricalSession.hbm.xml.В этом новом файле сопоставления я ссылаюсь на тот же класс Session, но добавляю:
entity-name="HistoricalSession"
Затем я сопоставляю объект со своей второй (исторической) таблицей, как обычно.Вызов save () или saveOrUpdate () по умолчанию использует имя класса в качестве имени объекта и сохраняет в моей основной таблице, как и раньше.Теперь, когда я хочу сохранить сеанс в хронологической таблице, я использую переопределения API Hibernate, которые позволяют вам указать имя сущности:
saveOrUpdate("HistoricalSession",session);
Это выполняет именно то, что я хочу, без необходимости создавать другую Javaкласс для исторических сессий