Code Generater интерпретирует NUMERIC (20,0) как BIGDECIMAL, тогда как он должен интерпретироваться как Long - PullRequest
2 голосов
/ 17 июля 2011

У меня есть таблица с именем поля "BID" с типом данных, установленным как NUMERIC (20,0). Теперь я знаю, что это никогда не будет десятичным / плавающим значением, но всегда будет int / long, то есть натуральным числом.

Есть ли способ для генератора кода сделать переменную внутри сгенерированного модельного класса Long, в отличие от java.math.BigDecimal, который он создает в настоящее время. Это можно установить в jooq.properties??

1 Ответ

1 голос
/ 17 июля 2011

Эта «функция» в настоящее время доступна только для базы данных Oracle, где NUMBER - единственный доступный числовой тип.При использовании Oracle с jOOQ NUMBER(20, 0) будет отображаться в java.math.BigInteger вместо java.math.BigDecimal.

Это поведение также будет доступно для других СУБД в следующем выпуске 1.6.3.См.

https://sourceforge.net/apps/trac/jooq/ticket/639

Кроме того, в настоящее время переопределение отображений типов данных в генераторе кода невозможно, но вы можете использовать BIGINT, как предлагает gbn, если недействительно нужно 20 десятичных цифр.BIGINT может содержать большинство 19-значных десятичных знаков ...

...