Java JOOQ-Mysql集成问题

Java JOOQ-Mysql集成问题,java,mysql,sql,jooq,Java,Mysql,Sql,Jooq,我已经为MySQL安装了JOOQ。已完成各种表的编译,现在我尝试运行以下查询: dsl.selectFrom(WALLPAPER).where(WALLPAPER.PARENT\u ID.eq(ID)).orderBy(WALLPAPER.VIEW\u ORDER).fetchInto(wallperItem.class) 但我总是犯这个错误 “org.springframework.jdbc.BadSqlGrammarException:jOOQ;错误的SQL语法[选择“库”,“墙纸”,“id

我已经为MySQL安装了JOOQ。已完成各种表的编译,现在我尝试运行以下查询:

dsl.selectFrom(WALLPAPER).where(WALLPAPER.PARENT\u ID.eq(ID)).orderBy(WALLPAPER.VIEW\u ORDER).fetchInto(wallperItem.class)

但我总是犯这个错误

“org.springframework.jdbc.BadSqlGrammarException:jOOQ;错误的SQL语法[选择“库”,“墙纸”,“id”,“库”,“墙纸”,“类别名称”,“库”,“墙纸”,“图标”,“库”,“墙纸”,“查看顺序”,“库”,“墙纸”,“父id”来自“库”,“墙纸”在“库”的位置”,“墙纸”,“父id”=强制转换(?as int)顺序依据”库“.wallper”、“view_order”asc];嵌套异常为com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;请查看与您的mysql服务器版本对应的手册,以了解在“.wallper”、“id”、“library”、“wallper”、“category_name”、“library”附近使用的正确语法第1行的壁纸


问题可能是什么?

生成的SQL使用双引号(
“name”
)作为架构/表/列名。这就是导致MySQL出现语法错误的原因,MySQL希望使用倒勾(
`name`
)引用名称

生成双引号的原因是您使用错误的
sqldialent
配置了
dsl
引用,即使用了
sqldialent.MYSQL
以外的内容。例如:

DSLContext dsl = DSL.using(connection, SQLDialect.MYSQL);

我的MySQL不喜欢带有“schemaName”、“Table”、“Column”的语法。引号是问题所在。我用backtick`代替。不知道怎么把它带给JOOQ。