2012-03-21 1 views
0

앱의 데이터베이스에 Template 개체를 유지하려고합니다. 그것은 나에게 예외를주지는 않지만, nullable : false 제약으로 표시 될 때 null 속성을 가진 객체를 저장하려고 시도한 Grails로부터 기본 메시지를받습니다.복합 키가 null로 저장되었습니다.

템플릿 클래스는 다음

클래스 템플릿의

재산권 tempVersion가 null 또는 (default.null.message)이 될 수 없다 : 왜

class Template implements Serializable { 

Long tempVersion 
String name 
Type type 
Status status 
App app 
String body 
Tester tester 
Date date 


static constraints = { 
    name blank:false, maxSize:50 
    type nullable:false 
    status nullable:false 
    app nullable:false 
    body blank:false, widget:"textarea" 
} 

static mapping = { 
    id composite:['id','tempVersion'] 
    tempVersion generator:"sequence", params:[sequence:'SEQ_TEMPLATE_VERSION'] 
    body type:"text" 
    version false 
} 

이해 할 수없는, 원인 tempVersion을 기본 'id'와 함께 기본 키로 지정하면 절대 null 값을 생성해서는 안됩니다. 마찬가지로 null ID를 생성해서는 안됩니다. 어쨌든, 나는 그것에 대해 잘못하고있는 사람을 누구도 보지 않습니까?

미리 감사드립니다.

답변

1

값 합성 코드를 생성하려면 사용자 지정 시퀀스 생성기를 작성해야합니다. 하이버 네이트는 복합 ID를위한 값을 생성하지 않는다

+0

어떻게 그럴 수 있습니까? –