Hibernate-Spring, как мне превратить сохранение в обновление или сохранение? - PullRequest
0 голосов
/ 08 апреля 2011

Hibernate-Spring, как мне превратить сохранение в обновление или сохранить ??

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

public void saveDealer(Dealer dealer, String rUser) {

    dealer.setUsername(rUser);
    dealer.setAddedDate(new Date());
    sessionFactory.getCurrentSession().saveOrUpdate(dealer);
}

Ответы [ 4 ]

1 голос
/ 08 апреля 2011

Когда вы используете saveOrUpdate, hibernate сохранит ваши данные, если данные с определенным идентификатором не существуют, и обновит ваши данные, если данные с определенным идентификатором существуют

0 голосов
/ 08 апреля 2011

Почти все мои сущности содержат поле Identity, такое как Long id. Итак, мой метод save () выглядит так:

void save(EntityWithId entity) {
    if (entity == null)
        return;
    if (entity.getId() == null) {
        session.persist(entity);
    } else {
        session.merge(entity);
    }
}
0 голосов
/ 08 апреля 2011

Вы должны будете проверить существующую запись раньше. Для Hibernate не существует автоматического способа выяснить, существует ли запись дилера для конкретного пользователя, и принять решение о сохранении или обновлении. Я хотел бы, чтобы программное обеспечение могло думать: -)

Надеюсь, это поможет.

0 голосов
/ 08 апреля 2011

Вы можете взглянуть на http://docs.jboss.org/hibernate/core/3.2/api/org/hibernate/engine/Cascade.html

Другой подход заключается в проверке перед saveOrUpdate

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