Как мне использовать вставку Jooq ... возвращая в MySQL без генерации кода? - PullRequest
0 голосов
/ 20 марта 2020

Я пытался использовать вставку ... возвращаясь в MySQL с определением таблицы на основе DSL (я не использую генерацию кода), и моя возвращенная запись всегда равна нулю. Основываясь на чтении, мне нужно указать столбец идентификации в определении таблицы, но я понятия не имею, как!

Record recordKey = create.insertInto(table("modulerecords"), 
                                    field("id"), 
                                    field("module_id"),
                                    field("created_date"), 
                                    field("created_by"), 
                                    field("state"), 
                                    field("tag_id"),
                                    field("start_time",Timestamp.class), 
                                    field("kill_time", Timestamp.class), 
                                    field("feed_guid")
                                    )
                            .values(null, moduleId, currentTimestamp(), 
                                    userId, state, tagId, 
                                    new Timestamp(startTime), 
                                    new Timestamp(killTime), feedGuid)
                            .returning(field("id"))
                            .fetchOne();

Поле "id" является первичным ключом auto_increment в базе данных, но recordKey всегда равно нулю.

1 Ответ

1 голос
/ 21 марта 2020

Настоятельно рекомендуется использовать генератор кода для предоставления всей метаинформации DSL API. Вы, конечно, не можете использовать генератор кода и все еще использовать внутренние API, которые иначе использовал бы генератор кода. Вместо создания ссылок на таблицы и поля с помощью plain SQL API вам придется создать подкласс TableImpl и переопределить / реализовать все соответствующие методы.

Или вы просто используете генератор кода.

...