java - JPA - 为什么我在数据库中的每一行看到两个实体实例?

标签 java performance hibernate jpa jprofiler

当我使用 JProfiler 分析应用程序时,我看到 Db 中的每条记录有两个实体实例。

例如,Global_message 是我的表名称,它有 20 条记录,映射的 JPA 实体在 Jprofiler 中显示 40 个实例 [2 个类]。

有人可以帮忙解决这个问题吗?这是预期的行为吗?

我在服务器启动时将所有表加载到缓存中,并且在服务器启动时看到了这种行为。

最佳答案

这是完全正常的。 Hibernate需要其他实例来检查应用程序操作的实体实例是否脏(是否被修改)。当 session 刷新时,Hibernate 检查其他实例可能发生的更改。有关脏检查的更多详细信息 this question确实有很好的答案。

关于java - JPA - 为什么我在数据库中的每一行看到两个实体实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633610/

相关文章:

java - 如何在Java中读取数字的每一位数字

javascript - 显示/隐藏 ReactJS 组件的更快方法?切换组件还是切换显示?

c# - Linq group by property 表现

java - 如果有一个列表一直持有300,000个对象,gc会不会有不好的表现?

oracle - Grails 与 Oracle-DB : seems to have only one global counter for IDs

java - 使用 Spring + hibernate + JPA 从表中选择特定列并将结果存储到非实体 POJO

java - 在字符串的任意位置出现一个字符的正则表达式

java - 为什么 String.valueOf(null) 会抛出 NullPointerException?

java - Spring RESTful Controller 方法改进建议

java - 如何限制 CriteriaBuilder 查询中的记录数?