异常信息
[SQL]select userentity0_.ID as id1_0_0_, userentity0_.Name as name2_0_0_, userentity0_.SEX as sex3_0_0_, userentity0_.TypeID as typeid4_0_0_ from User userentity0_ where userentity0_.ID=1
[Err] 42000 - [SQL Server]关键字 ‘User’ 附近有语法错误。
将jpa打印的sql语句到数据库中执行,发现执行失败
然后将User 变成SQLServer全表名,Test.dbo.[User],然后再执行上面的SQL语句发现能执行成功
解决方案
将实体类@Tabel的name属性的值改为SQLServer全表名,如下所示:
@Entity
@Table(name = "Test.dbo.[User]")
public class UserEntity implements Serializable {
}
JPA配置如下:
jpa:
database: sql_server
show-sql: true
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
本文解决了一个在使用JPA与SQLServer数据库交互时遇到的问题,具体表现为关键字'User'附近的语法错误。通过将实体类的@Table注解中的name属性修改为SQLServer的全表名,即Test.dbo.[User],成功解决了该问题。


被折叠的 条评论
为什么被折叠?



