2015-07-13 2 views
1

Я просматриваю коды, сделанные предыдущими сотрудниками, которые выполняли тот же проект, что и мой. В то время как я пересматриваю код, я столкнулся со многим Domain классом ограничения, подобного этим:Графические сопоставления GORM для столбцов varchar

String title 
String notes 

static mapping = { 
    ..... 
    title column: 'title' 
    notes column: 'notes' 
    ..... 
} 

static constraints = { 
    ..... 
    title nullable: false, size: 1..50, blank: true 
    notes nullable: true, size: 0..500, blank: true 
    ..... 
} 

Я получаю точку, null значения и пустые строки различны, следовательно nullable и blank ограничения. Но если вы действительно указываете 0 как минимальную длину столбцов nullable и укажите 1 тем non-nullable столбцам?

Если это действительно так, то какая разница с теми Domains, которые не используют подобные ограничения? Прежде чем читать их коды, я уже закодировал много классов Domain, используя только ограничение nullable, и они работают нормально.

ответ

1

Я думаю, что существует избыточность ограничений.

Я бы реструктурировать его на что-то вроде этого:

static constraints = { 
    ..... 
    title nullable: false, max:50 
    notes nullable: true, max:500 
    ..... 
} 
+0

Как насчет 'blank' ограничения? Не следует ли использовать ограничение 'blank', когда ограничение 'nullable' установлено на' true'? – Gideon

+0

no, blank: true в основном означает, что длина нуля разрешена пустым: false означает, что длина нуля не разрешена – dsharew