2014-10-23 5 views
0

Я работаю с устаревшей базой данных, которую я не могу изменить. И они используют короткие целые числа в postgreSQL DB вместо boolean.Ссылка на привязку Grails к целочисленному полю

Как я могу привязать короткое или int поле к флажку? Есть ли простой способ?

Я пробовал переопределять сеттеры и геттеры, но я получаю ошибки проверки в спящем режиме.

ответ

0

добавить transient свойство к классу:

class SomeClass { 

    int originalLegacy 

    boolean isLegacy(){ 0 != originalLegacyInt } 

    void setLegacy(boolean v){ originalLegacyInt = v ? 1 : 0 } 

    static transients = [ 'legacy' ] 
} 
+0

Спасибо! Это то, что я искал. Это довольно элегантное решение по сравнению с тем, что я имел в виду. Я новичок в grails и groovy, поэтому я не знал о переходных процессах – Dovydas

+0

все в порядке, если вам это нужно только в нескольких местах. иначе вы можете добавить такие свойства через 'MetaClass' всюду – injecteer

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