2016-12-06 2 views
1

를 설정하지 않습니다 난 상태 속성에 대한 다음 지침을Grails의 도메인 속성 DEFAULTVALUE 도메인의

static mapping={ 
    status defaultValue="NNE" 
} 

static constraints={ 
    status(nullable:false, inList:["NNE","NMO","NJE"]) 
} 

하지만 도메인 개체의 새 인스턴스를 만들 때, 상태는 오히려으로 설정보다 널 태만.

def instance=new Ticket(); 
println instance.status;// this is NULL instead of the default "NNE" 

이 경우입니까?

+0

Grails 3 및 MySQL에서 작동하지 않습니다. Grails 외부에 행을 삽입 할 때 Default 값이 올바르게 설정됩니다. Grails에서는 값이 NULL입니다. – Guus

답변

1

아니요, 그렇다고 가정하지 않습니다. defaultValue은 도메인 제약 그 자체가 아니라 데이터베이스 제약 조건 (mapping이 데이터베이스 스키마에 영향을 미침)에 대한 힌트입니다. 기본값을 원할 경우 속성에 기본값을 설정하십시오. 예 :

class TheClass { 
    String status = 'DEFAULTHERE' 
    ... 
}