【问题标题】:Jooq postgre insert error with play2.5 scalaJooq postgre 在 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

【问题讨论】:

    标签: postgresql scala playframework jooq


    【解决方案1】:

    看来你没有设置正确的SQLDialect,比如

    SQLDialect.POSTGRES_9_5
    

    https://www.jooq.org/javadoc/3.8.x/org/jooq/SQLDialect.html

    【讨论】:

    • 是的,我自己刚找到的,我已经从 mariadb 切换到 postgre 忘记设置对话框了
    猜你喜欢
    • 2019-06-10
    • 1970-01-01
    • 2017-09-05
    • 2017-06-05
    • 2015-05-25
    • 2022-01-27
    • 2015-11-16
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多