我有一个 JPA 实体,它通过 OneToMany 关系具有子集合,并且我设置了 cascade=CascadeType.ALL 但是当我保存父实体时,它不会保存对子集合所做的任何更改(即添加或删除),我不知道这是为什么。
了解是否有办法从 JPA EntityManager 等获取有关在事务结束时将保存的内容的任何信息会很有用。
不知道该怎么做?对此进行调试已成为不可能。
我有一个 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