postgresql Hibernate实体意外更新

6qftjkof  于 2023-06-05  发布在  PostgreSQL
关注(0)|答案(1)|浏览(484)

我正在开发一个springboot/hibernate应用程序,其中一个数据库表经常意外更新,记录被访问并设置为相同的值,只是增加了版本字段,引用了修改的数量。
在应用程序中,该表的记录只在一个地方按预期进行更新,并且在一些其他实体中引用它,这些实体只阅读它,引用方式如下

@Id
@NotNull
@JoinColumn(name = "ENTITY_ID", updatable = false)
@ManyToOne(fetch = FetchType.EAGER)
private MyEntity entity;

我怀疑这个应用程序中的一些流正在间接更新它,但从跟踪代码来看,这似乎是错误的。我该如何找出这些update语句的出处?这可能是一个hibernate的问题,还是设计JPA实体的问题?

fdbelqdn

fdbelqdn1#

我建议记录你的sql/hql调用,这样你就可以试着跟踪它在哪里被更新。在hibernate中,您可以使用以下配置打开它:
如果使用hibernate.cfg.xml:

<property name="hibernate.show_sql">false</property>

如果你使用JPA:

<property name="hibernate.show_sql" value="false"/>

相关问题