2010-12-07 1 views
3

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

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

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

+0

Вы установили сайт для владения сайтом с помощью «mappedBy»? – niels 2010-12-07 19:19:34

ответ

5

Одним из решений, чтобы увидеть, что происходит на уровне 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 
Смежные вопросы