JPA, как я могу сказать, что будет сохранено обратно в базу данных - PullRequest
3 голосов
/ 07 декабря 2010

У меня есть сущность JPA, у которой есть дочерние коллекции через отношения OneToMany, и я установил cascade = CascadeType.ALL, однако, когда я сохраняю родительскую сущность, она не сохраняет никаких изменений, внесенных в дочернюю коллекцию (то есть добавляет или удаляет), я понятия не имею, почему это так.

Было бы полезно узнать, есть ли способ получить какую-либо информацию из JPA EntityManager и т. Д. О том, что будет сохранено в конце транзакции.

Не знаете, как это сделать? Отладка этого стала невозможной.

1 Ответ

5 голосов
/ 07 декабря 2010

Одним из решений, позволяющих увидеть, что происходит на уровне SQL, является включение отладки в спящем режиме.Если вы добавите файл log4j.properties в каталог / conf, вы сможете вручную управлять выводом журнала гибернации.Вот пример файла конфигурации, который вы можете использовать.Раскомментируйте соответствующие области, чтобы включить уровни журнала:

log4j.logger.org.hibernate=info
### log just the SQL
log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=debug

### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=info

### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...