2014-09-29 2 views
1

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

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

<expression>.*</expression> 

и типов:

<types>DATE</types> 

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

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

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

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

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

Update с примером

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

Таблица A:

INSERT_DATE DATE NOT NULL 

Таблица B:

CREATION_DATE DATE NOT NULL 

таблица C:

RELEASE_DATE DATE DEFAULT CURRENT DATE 

Использование forcedTypes с <expression>.*</expression> и <types>DATE</types>

только на поле таблицы C после генерации кода с jOOQ использует преобразователь. Те, что указаны в таблице A, B, игнорируются. Единственное различие, которое я вижу, это «CURRENT DATE»

+0

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

+0

Hi Lukas , Я обновил свой вопрос с примера – res1

ответ

1

Это кажется ошибка в jOOQ, который я зарегистрировался на GitHub, в настоящее время:

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

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

<types>DATE.*</types> 
Смежные вопросы