2010-02-10 5 views
1

Contrôleur:pas de Session lié à fil et la configuration ne permet pas la création d'un non transactionnel ici

AssocCovList.addAssoc(3, 4) 

Dans Domaine:

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() 
} 


Voici sql structure:

CRÉER TABLE omni. assoc_cov_list (
ASSOC_COV_LIST_ID int (11) auto_increment NOT NULL,
ASSOCIATION_ID smallint (6) NOT NULL default '0',
COV_LIST_ID int (11) NOT NULL default '0',
EDIT_DATE Date NULL par défaut,
clé primaire (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)
) MOTEUR = InnoDB AUTO_INCREMENT = 9584 CHARSET PAR DÉFAUT = utf8;

Ce retournais pas de Session lié à fil et la configuration ne permet pas la création d'un non transactionnel ici

pourquoi il retourne objet nul? Je suis capable de mettre à jour et supprimer les enregistrement (s). Ne fonctionne pas pour le nouvel enregistrement.

S'il vous plaît aidez-moi

grâce

Répondre

1

Attendez une minute ... Je pense que la classe de domaine lui-même est pas le bon endroit pour appeler une sauvegarde() sur lui-même! Cela doit être fait au niveau du contrôleur ou du service. Pouvez-vous donner un essai à ceci:

Dans votre classe de domaine:

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

Dans votre contrôleur:

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

Vous devrez peut-être passer en revue les bases des constructeurs Groovy en lisant http://groovy.codehaus.org/Groovy+Beans –

+0

Bon point ;-) Merci de rafraîchir mon cerveau. Mon hypothèse concernant les propriétés nullables est-elle correcte? – Philippe

+0

Bonjour à tous, La création ne fonctionnait pas pour ce domaine seulement, je suis capable de créer de nouveaux enregistrements sur d'autres domaines. Pourriez-vous s'il vous plaît passer à travers le poste à nouveau (j'ai édité le code et le message d'erreur que je recevais). @Philippe - J'ai essayé avec votre exemple, mais la même erreur se produit. Je peux également fournir plus de code et de schéma sql. merci d'avance – srinath

0

Vous avez défini AssocCovList avoir les propriétés suivantes:

Integer id 
Integer association_id 
Integer cov_list_id 
Date edit_date 

Et puis essayez de créer un new AssocCovList(association_id:3) en utilisant uniquement le association_id . Cependant, par défaut, toutes les propriétés sont persistantes et requise. Pour créer un nouveau AssocCovList vous devez également fournir les id, cov_list_id et edit_date.

Questions connexes