Ошибка @UniqueConstraints при обновлении - PullRequest
0 голосов
/ 08 августа 2011

У меня есть класс Entity, в который я помещаю аннотацию уникального ограничения

@Table(uniqueConstraints={@UniqueConstraint(columnNames={"staffRecord_id", "defaultLabel_id","company_id","keyCode"})})
public class AllowanceDeduction implements Serializable{
---

То, что я заметил, это когда я пытаюсь сохранить на столе используя

 if (allowanceDeduction.getId() == null) {
            this.entityManager.persist(allowanceDeduction);
        } else {

            this.entityManager.merge(allowanceDeduction);
        }


when the save or update fails due to a unique constraint. Isn't it only supposed to fail when trying to save a new record that is identical to a record that already exist.

Почему произойдет сбой при попытке слияния или обновления? Пожалуйста, нужна помощь

1 Ответ

0 голосов
/ 09 августа 2011

Не могу точно сказать, но похоже, что вы пытаетесь сохранить нулевой идентификатор

if (allowanceDeduction.getId() == null) {
        this.entityManager.persist(allowanceDeduction);
        /* don't you need the id set to a non-null value in order to persist it? */
    } else {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...