我目前的工作是弹簧引导jpa应用。它过去与h2 1.4.196正常工作。在我升级到h2到最新版本(2.1.210)之后。我正面临着申请的问题。
我面临着在应用中使用保留关键字的问题。我使用key,value作为类中的字段。我可以用下面的语句来解决这个问题。
spring.jpa.properties.hibernate.auto_quote_keyword =真,
上述属性将引号放在应用程序中使用的关键字周围。
在使用上述属性之后,我能够成功地编译应用程序,但是当应用程序运行时,我面临的问题是我在应用程序中使用的字段“语言”。
我猜测的是,语言通常是在液化库生成的数据库中生成的,但是在查询时,hibernate在语言周围放置“引号”,从而产生不匹配和错误。
有人能帮我解决这个问题吗。
下面是从spring引导生成的sql
由: org.h2.jdbc.JdbcSQLSyntaxErrorException:列"USER0_.language“未找到;SQL语句:选择user0_.id为id1_1_,user0_.dashboard_order为dashboar2_1_,user0_.date_format为date_for3_1_,user0_.user_email为user_ema4_1_,user0_为language5_1_来自blu_dash_user user0_,其中language(user0_.user_email)=by(?) 42122-210。
发布于 2022-11-17 18:15:10
如果我的经理在堆栈溢出上找到了同样的解决方案,u可以在连接字符串列表中添加要允许的关键字列表,例如连接字符串jdbc:h2:./test;NON_ key =KEY,VALUE
希望能帮助人们
https://stackoverflow.com/questions/71656890
复制相似问题