JPA,我怎么知道什么将被保存回数据库

标签 jpa playframework

我有一个 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/

相关文章:

java - 又名获取计划。获取组又名。 QueryDSL 中的实体图

mysql - SQL JPA 原生查询

java - 使用 JPA 1.0 的 CriteriaQuery

javascript - 使用 Angular + Play 框架 (Java) 进行 SPA 身份验证

java - 在 Play 框架中转换文件(特别是 .doc/.docx 到 .html)

scala - 在没有 Request 实例的情况下 Play 反向路由

java - 使用 Play Framework 从 html 选择表单中检索数据

java - 不能混合使用 JPA 位置参数和 native Hibernate 位置/序号参数

hibernate - EntityManager Hibernate 没有持久性提供程序

java - 我可以只使用一张表进行所有 hibernate 环境审计吗?