2012-01-31 3 views
0

У меня есть таблица А и В.Hibernate один-ко-многим сохранить ошибку

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

Я спасаю данные в B и A as,

B.add(A's List); 

session.save(B); //save Parent 

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

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

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

Может кто-нибудь сказать, что я, возможно, не хватает? Благодарю.

+0

, очевидно, вы вставляете другой кортеж с тем же контентом, который конфликтует с одним существующим значением. –

ответ

1

Я думаю, что

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

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

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