Hibernate обновить сущность с временным объектом - PullRequest
1 голос
/ 21 декабря 2011

Я бродил, каков наилучший подход к этому сценарию: у меня есть таблица, и я хочу обновить строку в таблице.Мне дан новый временный объект, который относится к одной из строк в таблице, но некоторая информация отличается (это информация, которую необходимо обновить).Я извлекаю объект из БД, и теперь у меня есть один постоянный объект и один переходный процесс, который требуется для обновления объекта БД.

Я использую Hibernate и MySql.

, что является лучшим подходом.

РЕДАКТИРОВАТЬ: объект чрезвычайно сложен с внешними ключами для других таблиц.

Спасибо, Ронен.

1 Ответ

0 голосов
/ 21 декабря 2011

Вы должны сделать временный объект постоянным.Это можно сделать, связавшись с сеансом следующим образом

DomesticCat fritz = new DomesticCat();
fritz.setColor(Color.GINGER);
fritz.setSex('M');
fritz.setName("Fritz");
sess.update(fritz);

Вы можете использовать постоянный объект для установки значений временного объекта следующим образом

.
.
.
fritz.setColor(persistentObject.getColor());
fritz.setId(persistentObject.getId());
.
.
.
...