Jooq postgre 在 play2.5 scala 中插入错误
Posted
技术标签:
【中文标题】Jooq postgre 在 play2.5 scala 中插入错误【英文标题】:Jooq postgre insert error with play2.5 scala 【发布时间】:2017-08-02 10:42:43 【问题描述】:我在一个带有 play2.5 和 scala 的应用中使用 jooq
当我插入一个简单的查询时,驱动程序会在表和字段名称周围准备一个查询,而 postgres 会以错误响应,我该如何克服这个问题,可能有一个驱动程序参数来设置此行为?
我正在使用
sbt 配置
libraryDependencies ++= Seq(
jdbc,
cache,
ws,
evolutions,
filters,
"org.scalatestplus.play" %% "scalatestplus-play" % "1.5.0-RC1" % Test,
"org.postgresql" % "postgresql" % "9.2-1003-jdbc4",
"org.jooq" % "jooq" % "3.7.0",
"org.jooq" % "jooq-codegen-maven" % "3.7.0",
"org.jooq" % "jooq-meta" % "3.7.0",
"joda-time" % "joda-time" % "2.7",
"com.adrianhurt" %% "play-bootstrap" % "1.1-P25-B3",
"org.mindrot" % "jbcrypt" % "0.3m"
)
错误:
[debug] 2017-03-12 11:18:52,042 o.j.t.LoggerListener - Executing query : insert into `public`.`user_account` (`nickname`, `email`, `password`, `role`) values (?, ?, ?, ?)
[debug] 2017-03-12 11:18:52,043 o.j.t.LoggerListener - -> with bind values : insert into `public`.`user_account` (`nickname`, `email`, `password`, `role`) values ('', 'simon.cigoj@gmail.com', 'nomis05', 'ROLE_USER')
[error] 2017-03-12 11:18:52,139 o.j.StatementLogger - insert into `public`.`user_account` (`nickname`, `email`, `password`, `role`) values ('', 'aaa@mail.com', 'kjhkh', 'ROLE_USER');
throws exception: org.postgresql.util.PSQLException: ERROR: syntax error at or near "`"
Position: 13
org.postgresql.util.PSQLException: ERROR: syntax error at or near "`"
Position: 13
【问题讨论】:
【参考方案1】:看来你没有设置正确的SQLDialect
,比如
SQLDialect.POSTGRES_9_5
https://www.jooq.org/javadoc/3.8.x/org/jooq/SQLDialect.html
【讨论】:
是的,我自己刚找到的,我已经从 mariadb 切换到 postgre 忘记设置对话框了以上是关于Jooq postgre 在 play2.5 scala 中插入错误的主要内容,如果未能解决你的问题,请参考以下文章
从jOOQ访问名为CHECK CONSTRAINTS的Postgres