2015-02-27 1 views
0

Как я могу сказать, что поле имеет следующий тип и точность в ограничении Грааля?Задание точности плавающей запятой Grails в ограничении объекта домена, как?

FLOAT(7,4) 

В MySQL это означает, что она будет иметь значение то, как xxx.yyyy, 3 знака после запятой слева от точки и четыре знака после запятой справа от точки.

ответ

1

Задайте max и scale ограничения вашего свойства класса домена, чтобы повлиять на генерацию схемы. The Grails documentation подробно объясняет это.

Из документации:

someFloatValue max: 1000000, scale: 3 

уступит:

someFloatValue DECIMAL(19, 3) // precision is default 

Примечание выше непосредственно из документации Grails, но логически она должна давать DECIMAL(9, 3).

+0

Вы имеете в виду DECIMAL (9, 3)? как будет макс: 1000000, масштаб: 3 выход DECIMAL (19, 3)? – t31321

+1

Согласовано, должно быть (9,3), но ошибка в состояниях документации (19,3) –

+0

DECIMAL (19, 3) верна: «Имейте в виду, что указание только одного из ограничений min/max не повлияет генерация схемы (так как может быть большое отрицательное значение свойства с max: 100, например), если только указанное значение ограничения не требует больше цифр, чем значение по умолчанию для столбца Hibernate (19 на данный момент) " – Zaslam

Смежные вопросы