Как вызвать исключение в JPA при выполнении joinTransaction () или commit ()? - PullRequest
1 голос
/ 23 января 2012

Для тестирования кода, связанного с базой данных, с использованием JPA с использованием базы данных в памяти, такой как HSQLDB:

Как вызвать форсированное исключение при выполнении EntityManager.joinTransaction() или EntityManager.getTransaction().commit()?

Я бы хотел вызвать исключение, не изменяя таблицы из базы данных (например, удаляя таблицу, в которой тест будет выполнять persist()).

1 Ответ

0 голосов
/ 24 января 2012

Некоторые способы,

  • закрыть вашу базу данных
  • нарушить внешний ключ или уникальное ограничение

Для joinTransaction () я не уверен, что вы могли бы многое сделать, поскольку он просто присоединяется к транзакции JTA. Будет выдано сообщение об ошибке, если вы не были в транзакции JTA, или, возможно, уже в транзакции, или resource_local.

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