小编shi*_*123的帖子

使用 ddl-auto 进行 Hibernate:更新总是会更改某些字段

我有一个带有 spring 数据的 spring-boot 项目。我的 application.yml 包含此属性:

spring:
  jpa:
    hibernate:
      ddl-auto: update
Run Code Online (Sandbox Code Playgroud)

每次我运行该项目时,Hibernate 都会对dateenumfloat/double字段执行 ALTER TABLE 语句。

Hibernate show_sql 日志:

Hibernate: alter table activity_data modify column points  float(53)
Hibernate: alter table activity_event modify column end_time  datetime(6)
Hibernate: alter table activity_event modify column start_time  datetime(6)
Hibernate: alter table giveaways modify column state  enum ('CREATED','ENDED','GOING') not null

... and some more
Run Code Online (Sandbox Code Playgroud)

它并没有真正影响项目或导致任何错误,但它确实困扰我,并且可能导致应用程序启动速度变慢

您知道禁用它的任何配置吗?也许发生这种情况是因为休眠无法判断这些列设置是否是最新的?

我为双字段尝试的事情之一是,我尝试手动将手动值设置为列比例:

Hibernate: alter table activity_data modify column points  float(53)
Hibernate: alter table …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-data-jpa spring-boot

11
推荐指数
1
解决办法
1264
查看次数

标签 统计

hibernate ×1

java ×1

spring ×1

spring-boot ×1

spring-data-jpa ×1