以下是:
JPA 运行时生成的查询:
select m1_0.Patient_Id,m1_0.PLN_ID from [DevDatabase.dbo].Users m1_0 where m1_0.Patient_Id=?
实体类:
@Entity
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Table(name = "Users", schema = "DevDatabase.dbo")
public class MemberDetailsEntity
{
@Id
@NonNull
@Column(name = "Patient_Id")
private String PatientId;
@Column(name = "PLN_ID")
private String planId;
}
迁移到 java 17 后,我看到自动生成的查询恰好在架构名称 (DEVDATABASE.DBO) 的开头和结尾添加了方括号,但它应该像这样添加 [DEVDATABASE].[DBO] 或不添加它们。因此,查询无法在它抛出的 mssql 广告中执行
错误 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 无效的对象名称 DevDatabase.dbo.Users 或者 org.springframework.dao.InvalidDataAccessResourceUsageException: JDBC异常执行SQL DevDatabase.dbo.Users
如何解决这个问题?
我尝试升级和降级休眠版本。但没有任何帮助。 所有建议的实体类注释添加都已经完成但尚未解决。