получена ошибка компиляции с сгенерированным кодом jooq

#scala #compiler-errors #jooq

Вопрос:

Я использую jooq 3.11.9 и у меня есть две таблицы в БД: Развертывание решений и запись решений. Генерация кода прошла успешно, но компиляция не удалась:

 [ERROR] /Users/.../src/main/scala-generated/com/backend/db/generated/Keys.scala:150: type mismatch;
 found   : com.backend.db.generated.tables.SolutionDeployment
 required: org.jooq.Table[com.backend.db.generated.tables.records.SolutionDeploymentRecord]
 
 [ERROR] /Users/.../src/main/scala-generated/com/backend/db/generated/Keys.scala:174: overloaded method value createUniqueKey with alternatives:
  [R <: org.jooq.Record](x$1: org.jooq.Table[R], x$2: String, x$3: org.jooq.TableField[R, _]*)org.jooq.UniqueKey[R] <and>
  [R <: org.jooq.Record](x$1: org.jooq.Table[R], x$2: org.jooq.TableField[R, _]*)org.jooq.UniqueKey[R]
cannot be applied to (com.backend.db.generated.tables.SolutionDeployment, String, org.jooq.TableField[com.backend.db.generated.tables.SolutionDeploymentRecord,Integer])
 

Ключи.часть импорта scala похожа на:

 import com.backend.db.generated.tables.records.SolutionDeploymentRecord
import com.backend.db.generated.tables.records.SolutionDeploymentRecordRecord
import com.backend.db.generated.tables.SolutionDeployment
 

Ключи.scala:150 и 151 похожи:

 val IDENTITY_SOLUTION_DEPLOYMENT : Identity[SolutionDeploymentRecord, Integer] = Internal.createIdentity(SolutionDeployment.SOLUTION_DEPLOYMENT, SolutionDeployment.SOLUTION_DEPLOYMENT.ID)
val IDENTITY_SOLUTION_DEPLOYMENT_RECORD : Identity[SolutionDeploymentRecordRecord, Integer] = Internal.createIdentity(com.backend.db.generated.tables.SolutionDeploymentRecord.SOLUTION_DEPLOYMENT_RECORD, com.backend.db.generated.tables.SolutionDeploymentRecord.SOLUTION_DEPLOYMENT_RECORD.ID)
 

Ключи.scala:174 и 175 похожи:

 val SOLUTION_DEPLOYMENT_PKEY : UniqueKey[SolutionDeploymentRecord] = Internal.createUniqueKey(SolutionDeployment.SOLUTION_DEPLOYMENT, "solution_deployment_pkey", SolutionDeployment.SOLUTION_DEPLOYMENT.ID)
val SOLUTION_DEPLOYMENT_RECORD_PKEY : UniqueKey[SolutionDeploymentRecordRecord] = Internal.createUniqueKey(com.backend.db.generated.tables.SolutionDeploymentRecord.SOLUTION_DEPLOYMENT_RECORD, "solution_deployment_record_pkey", com.backend.db.generated.tables.SolutionDeploymentRecord.SOLUTION_DEPLOYMENT_RECORD.ID)
 

По-видимому, это вызвано именем таблицы «Solution-Ploymentrecord», потому что, если я изменю суффикс «Запись» на что-то другое, все вернется в нормальное состояние. Но по сравнению с сгенерированным кодом других таблиц в коде этой таблицы не должно быть ошибок компиляции.

В чем основная причина этой проблемы? Если это действительно проблема с именем, существует ли соглашение об именах для справки?

Спасибо!

Комментарии:

1. В генераторе кода было реализовано множество исправлений, в том числе для ScalaGenerator . Не могли бы вы, пожалуйста, повторить попытку с последней версией jOOQ