Есть следующий метод:
@RequestMapping(value = "/newCard", method = RequestMethod.POST)
public String saveCard(@Valid @ModelAttribute("cardForm") Cards card, @RequestParam("balance") String balance,
BindingResult result, ModelMap model) {
card.setTypeCard(typeCardService.getTypeCardbyStatus("active"));
cardService.saveCard(card);
CardBalance cardBalance = new CardBalance();
cardBalance.setBalance(BigDecimal.valueOf(Double.valueOf(balance)));
cardBalance.setCardId(card.getCardId());
cardBalanceService.save(cardBalance);
return "success";
}
Здесь я сохраняю Card в бд, а затем пытаюсь сохранить баланс для этой карты. Проблема в том, что когда я пытаюсь сохранить баланс карты, я получаю ошибку - "родительская таблица не существует" (кард-баланс ссылается на кард). Полагаю, что все это происходит из-за того, что всё выполняется в одной транзакции. Подскажите как эту проблему можно разрешить?
Лог:
type Exception report
message Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [NICK.FK_CARD_ID_HIST]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [NICK.FK_CARD_ID_HIST]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
...
root cause
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [NICK.FK_CARD_ID_HIST]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:241)
...
root cause
org.hibernate.exception.ConstraintViolationException: could not execute statement
...
root cause
java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (NICK.FK_CARD_ID_HIST) violated - parent key not found
ORA-06512: at "NICK.ONEINTOHIST", line 2
ORA-04088: error during execution of trigger 'NICK.ONEINTOHIST'
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пишу приложение на Java, использующее dll-библиотеку методов, реализованных на С++ (технология JNI)Оказалось, что для разной разрядности установленной...