2013-07-25 2 views
0

Iam новичок в спящий режим, я пишу программу, использующую в спящий режим, (база данных использует 2 таблицы) этот код выполняет основной создавать, обновлять, удалять операции на обеих таблиц в базе данныхПеренос записей в спящий режим

Мои проблема в том, что я не знаю, как выполнить операцию, так что одна запись из одной таблицы вырезана и вставлена ​​как новая строка во вторую таблицу. Есть ли команда hibernate для этого?! Или как вы это достигаете? Iam использование сессия Factory. Кроме того, таблицы конструктивно одинаковы, то не может существовать внешний ключ между 2 таблицами (так в основном отображения не будут работать либо) Любая помощь будет действительно оценила

ответ

0

Я не знаю встроенной команда Hibernate для вырезать-н-пасты. Hibernate просто дает HQL в этом отношении.

Вы должны:

  1. Извлечение объектов с помощью Hibernate;
  2. Преобразуйте их в желаемый тип объекта. Вручную, да.
  3. Сохраните новые объекты с помощью session.save.
  4. Удалить старые объекты через session.delete.

Примечание

  1. Если вы делаете это для многих записей, этот наивный алгоритм не производительное. Для операций массового сохранения/удаления операций your choice будет StatelessSession
  2. Сначала сохраните и только потом удалите, чтобы при сбое приложения между данными не было потеряно.
  3. Не забудьте сделать транзакцию, если запрещено, чтобы эти объекты отображались в обеих таблицах.
+0

Эй, yair, как вы преобразовываете одну сущность в другую сущность вручную? –

+0

Да, я получил часть трансформирующего существа :) спасибо –

Смежные вопросы