2010-02-10 1 views
1

작성 허용되지 않습니다동면 세션 스레드 바인딩 및 구성은 여기에서 비 트랜잭션 하나 컨트롤러

package com.org.domain 
class AssocCovList { 
    Integer id 
    Integer association_id 
    Integer cov_list_id 
    Date edit_date 

    static belongsTo = [association : Association, cov_list : CoverageList] 

    static constraints = { 
     edit_date(nullable:true) 
    } 

    static mapping = { 
     table 'assoc_cov_list' 
     version false 
     columns { 
     id column : 'ASSOC_COV_LIST_ID' 
     association_id column : 'ASSOCIATION_ID' 
     cov_list_id column : 'COV_LIST_ID' 
     edit_date column : 'EDIT_DATE' 
     } 
    } 


def static addAssoc(3, 4){ 
    def aclist = new AssocCovList(association_id:3,cov_list_id:4, edit_date:new Date()) 
    aclist.save() 
} 
여기


는 SQL이다 도메인에서

AssocCovList.addAssoc(3, 4) 

을 구조 :

CREATE TABLE omni. assoc_cov_list (
ASSOC_COV_LIST_ID INT (11) NOT NULL AUTO_INCREMENT, (6) NOT NULL 기본 '0'
ASSOCIATION_ID SMALLINT,
COV_LIST_ID INT (11) NOT NULL 기본 '0',
EDIT_DATE 날짜 기본 NULL,
PRIMARY KEY (ASSOC_COV_LIST_ID)
UNIQUE KEY ASSOC_COV_LIST_I2 (ASSOCIATION_ID, COV_LIST_ID)
KEY ASSOC_COV_LIST_FK1 (COV_LIST_ID)
KEY ASSOC_COV_LIST_FK2 (ASSOCIATION_ID) 01, ) ENGINE = InnoDB AUTO_INCREMENT = 9584 DEFAULT CHARSET = utf8;

이 더 절전 모드 세션 스레드에 바인딩, 리턴하고, 그것이 null 객체를 반환하는 이유 구성은 여기

비 트랜잭션 하나의 생성을 허용하지 않는 이유는 무엇입니까? 레코드를 업데이트하고 삭제할 수 있습니다. 새로운 기록을 위해 일하지 않습니다.

은 잠깐 나에게

감사

답변

1

도와주세요 ... 나는 도메인 클래스 자체가 그 자체에(), 슈팅을 막아 호출 할 적절한 장소라고 생각합니다! 컨트롤러 또는 서비스 수준에서 수행해야합니다. 도메인 클래스에서

: 컨트롤러에서

def static addAssoc(<yourargs>){ 
    return new AssocList(/*Whatever arguments you pass */) 
} 

:

AssocCovList.addAssoc(<yourargs>).save()  
+0

http://groovy.codehaus.org/Groovy+Beans –

+0

좋은 점 ;-)을 읽고 Groovy 생성자의 기초를 살펴야 할 수도 있습니다. 내 머리를 상쾌하게 해주셔서 감사합니다. nullable 속성에 대한 제 가정은 정확합니까? – Philippe

+0

안녕하세요,이 도메인에만 생성이 작동하지 않아서 다른 도메인에서 새 레코드를 만들 수 있습니다. 게시물을 다시 살펴 보시기 바랍니다. (코드와 오류 메시지를 편집했습니다.) @Philippe - 예를 들어 보았지만 같은 오류가 발생합니다. 나는 또한 더 많은 코드와 SQL 스키마를 제공 할 수있다. 미리 감사드립니다. – srinath

0

다음과 같은 속성을 가지고 AssocCovList 정의 :

Integer id 
Integer association_id 
Integer cov_list_id 
Date edit_date 
을이에 시도를 줄 수

다음으로 association_id 만 사용하여 new AssocCovList(association_id:3)을 작성하십시오. . 그러나 기본적으로 모든 속성은 이고 지속되는 값은이고 이 필요합니다.입니다. 새로운 AssocCovList을 만들려면 id, cov_list_idedit_date을 제공해야합니다.

관련 문제