2010-01-15 17 views
5

मैं एक -simplified के साथ एक Grails आवेदन किया है। (यानी उन्हें डीबी में प्राथमिक कुंजी होना चाहिए)।Grails डोमेन बाधाओं परिभाषा

मैं इस तरह की बाधा को कैसे परिभाषित कर सकता हूं?

धन्यवाद अग्रिम में एक बहुत

लुइस

+1

यह केवल Grails है, Grails पर ग्रोवी नहीं। –

उत्तर

6

आप इस एक composite primary key डीबी में आपको लगता है कि मानचित्रण घोषित करना होगा होना चाहता हूँ के बाद से:

class Capacity implements Serializable { 
    Date month  
    Company company 
    String note 
    ... 

    static mapping = { 
     id composite:['month', 'company'] 
    } 
} 

कौन सा निम्न तालिका का उत्पादन (MySQL):

CREATE 
    TABLE capacity 
    (
     MONTH DATETIME NOT NULL, 
     company_id bigint NOT NULL, 
     version bigint NOT NULL, 
     note VARCHAR(255) NOT NULL, 
     PRIMARY KEY (MONTH, company_id), 
     INDEX FKFBF514BA69595C7A (company_id) 
    ) 
    ENGINE=MyISAM DEFAULT CHARSET=latin1 
+0

धन्यवाद! यह वही है जो मैं – Luixv

+0

की तलाश में था क्या यह अभी भी 'validate()' के दौरान विशिष्टता को लागू करता है? यदि नहीं, तो मुझे लगता है कि इस उत्तर का संयोजन और डेव की आवश्यकता है। अन्यथा आप Grails सत्यापन त्रुटियों के बजाय SQL बाधा अपवाद प्राप्त करना समाप्त कर देंगे। –

+0

@RobHruska कुछ बाधाएं डेटाबेस की स्थिति का सत्यापन करने के लिए डेटाबेस का उपयोग करती हैं और यूनिट परीक्षण में नहीं हैं (Grails 2.0 से पहले) –

संबंधित मुद्दे