我有一个 JPA 实体,它通过 OneToMany 关系具有子集合,并且我设置了 cascade=CascadeType.ALL 但是,当我保存父实体时,它不会保存对子集合所做的任何更改(即添加或删除),我不知道这是为什么。
了解是否有办法从 JPA EntityManager 等获取有关事务结束时将保存的内容的任何信息将很有用。
不知道该怎么做?对此进行调试已变得不可能。
最佳答案
查看在 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
关于JPA,我怎么知道什么将被保存回数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4380255/