मैं एक -simplified के साथ एक Grails आवेदन किया है। (यानी उन्हें डीबी में प्राथमिक कुंजी होना चाहिए)।Grails डोमेन बाधाओं परिभाषा
मैं इस तरह की बाधा को कैसे परिभाषित कर सकता हूं?
धन्यवाद अग्रिम में एक बहुत
लुइस
मैं एक -simplified के साथ एक Grails आवेदन किया है। (यानी उन्हें डीबी में प्राथमिक कुंजी होना चाहिए)।Grails डोमेन बाधाओं परिभाषा
मैं इस तरह की बाधा को कैसे परिभाषित कर सकता हूं?
धन्यवाद अग्रिम में एक बहुत
लुइस
आप इस एक 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
धन्यवाद! यह वही है जो मैं – Luixv
की तलाश में था क्या यह अभी भी 'validate()' के दौरान विशिष्टता को लागू करता है? यदि नहीं, तो मुझे लगता है कि इस उत्तर का संयोजन और डेव की आवश्यकता है। अन्यथा आप Grails सत्यापन त्रुटियों के बजाय SQL बाधा अपवाद प्राप्त करना समाप्त कर देंगे। –
@RobHruska कुछ बाधाएं डेटाबेस की स्थिति का सत्यापन करने के लिए डेटाबेस का उपयोग करती हैं और यूनिट परीक्षण में नहीं हैं (Grails 2.0 से पहले) –
यह कुछ ऐसा होना चाहिए:
static constraints = {
month(blank:false, nullable:false, unique:'company')
company(blank:false, nullable:false)
}
http://grails.org/doc/latest/ref/Constraints/unique.html पर एक नज़र डालें।
यह केवल Grails है, Grails पर ग्रोवी नहीं। –