升级到 Spring Boot 3 破坏了我的 SQL 查询

问题描述 投票:0回答:1

我正在将现有服务升级到 Spring Boot 3。这包括升级到

spring-boot-starter-data-jpa 3.15
,这意味着升级到 Hibernate 6 和 Tomcat 10.1。当我在本地运行一个预定查询时,我收到错误
Invalid object name 'XXX.TableName'
。原始服务在本地运行良好,因此我认为这不是权限问题。我们已将
spring.jpa.hibernate.naming.physical-strategy
设置为本地类,该类在原始服务和更新后的服务上都会返回
XXX.TableName
XXX.TableName
也是我用 DBeaver 生成 SQL 时得到的,所以这是正确的名称。有人可以建议我应该在哪里寻找问题吗?我还更新了 Spring Security,我认为这不会导致此问题,但我可能是错的。

spring-boot hibernate tomcat spring-security spring-data-jpa
1个回答
0
投票

根据这篇文章Hibernate 6中的序列命名策略迁移指南

以前的 Hibernate 版本提供了 1 个默认行为,并且您有 如果您想使用不同的序列名称,请指定序列名称。 使用 Hibernate 6,您可以在 4 种隐式命名策略之间进行选择 对于数据库序列:

您必须将下一个参数设置为

application
属性文件

spring.jpa.properties.hibernate.id.db_structure_naming_strategy=legacy

有关此更改的更多详细信息,您可以在上面提供的参考资料中找到。

© www.soinside.com 2019 - 2024. All rights reserved.