Конвертеры и типы jOOQ

В моем конфигурационном файле jOOQ я определил преобразователь для полей DATE, но у меня есть некоторые проблемы с определением условий для типа в разделе forceType.

Для тестирования поставил выражение:

<expression>.*</expression>

и по типам:

<types>DATE</types>

Я ожидал, что все столбцы будут соответствовать типу данных DATE. Вместо этого он не соответствует ни одному из них, кроме одного столбца, где его тип - DATE, как и других столбцов, которым он не соответствует, но у этого столбца def: CURRENT DATE, кажется, он соответствует этому.

Чтобы это работало, мне нужно использовать:

<types>.*DATE.*</types>

Кто-нибудь может мне это объяснить? Я использую Derby как db.

Спасибо за помощь

Добавьте пример

У меня есть эти поля в разных таблицах:

Таблица А:

INSERT_DATE DATE NOT NULL

Таблица B:

CREATION_DATE DATE NOT NULL

Таблица C:

RELEASE_DATE DATE DEFAULT CURRENT DATE

Использование принудительных типов с <expression>.*</expression> и <types>DATE</types>

конвертер используется только поле в таблице C после генерации кода с помощью jOOQ. Значения в Таблице A, B игнорируются. Единственное различие, которое я вижу, это "ТЕКУЩАЯ ДАТА".


person res1    schedule 29.09.2014    source источник
comment
Я не совсем понимаю, что вы имеете в виду: не могли бы вы уточнить? Вместо этого он не соответствует ни одному из них, кроме одного столбца, тип которого - DATE, как и другие столбцы, которым он не соответствует, но у этого столбца def: CURRENT DATE, кажется, он соответствует этому.   -  person Lukas Eder    schedule 29.09.2014
comment
Привет, Лукас, я обновил свой вопрос примером   -  person res1    schedule 29.09.2014


Ответы (1)


Похоже, это ошибка в jOOQ, которую я зарегистрировал на GitHub:

Похоже, что типы, которые вводятся в оценку <forcedType/>, содержат предложение NOT NULL из DDL Derby. Существует связанная проблема, требующая дополнительных сведений для ведения журнала при применении этих <forcedTypes/>:

Обходной путь для вас, прежде чем эта ошибка будет исправлена, - это действительно использовать регулярные выражения, чтобы оставаться в безопасности, подобно тому, которое вы использовали, или лучше:

<types>DATE.*</types>
person Lukas Eder    schedule 06.10.2014