2011-08-02 3 views
0

도메인 객체 IssueDate createTime이라는 속성이 있습니다. 일부 사용자 정의 논리로 GORM에서 ID로 사용하고자합니다.Grails : 사용자 정의 ID 생성

예를 들어 Issue2011/08/02에 생성 된 경우 ID2011080201이어야합니다. 같은 날의 Issue 다음에 ID2011080202 등이 있어야합니다.

그런 다음 다음 날에 생성 된 첫 번째 문제 2011/08/03ID2011080301이어야합니다.

기본 요구 사항은 createTime 속성에 증분 값을 추가해야한다는 것입니다.

무엇이 접근해야합니까 ??

답변

1

사용자 정의 ID 생성기를 만들어야한다고 생각합니다.

org.hibernate.id.IdentifierGenerator 인터페이스를 구현하는 my.package.MyCustomIdGenerator 클래스를 만들어보십시오.

다음과 같이 도메인 클래스를 설정하십시오.

static mapping = {  
    id generator:'my.package.MyCustomIdGenerator', params:[...]  
} 

위의 구문이 올바르지 않을 수 있습니다. 그러나 그것은 가치가있다.

은 여기를보세요 : 여기 http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html

과 :

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id