Hibernate ошибка сохранения один-ко-многим - PullRequest
0 голосов
/ 31 января 2012

У меня есть таблица A и B.

B является родителем A. (B имеет один-ко-многим с A)

Я сохраняю данные в B и A как,

B.add(A's List);

session.save(B);  //save Parent

Я могу сохранить только 1 запись.

Когда я снова обновляю тот же браузер, выдается ошибка:

Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint.

Кто-нибудь может сказать, чего мне не хватает? Спасибо.

1 Ответ

1 голос
/ 31 января 2012

Я думаю, что

  1. Вы вставляете B в базу данных, используя HTTP GET (что неверно: GET должен быть идемпотентным. Вам следует использовать POST)
  2. Вы назначаете идентификатор B явно, и, так как вы обновляете страницу, вы вставляете тот же самый B с тем же идентификатором во второй раз.

Используйте шаблон post-redirect-get . (и включите трассировку стека исключения, код, вызывающий это исключение, и другой соответствующий код, если мои догадки неверны и вам нужна дополнительная помощь)

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