मैं बहुत एक समाधान के करीब रहा हूँ लेकिन कुछ भी अभी भी गलत अग्रिम धन्यवाद है, सहायता प्राप्त करने की उम्मीद है,।grails समग्र "अद्वितीय बाधा", लेकिन कैसे?
class BoCustomer implements Serializable{
String firstName
String lastName
String emailID
Company company
}
तो, मैं एक प्राथमिक कुंजी = "आईडी" कि ठीक है है:
मैं की तरह एक ग्राहक के डोमेन का मॉडल है। "एक कंपनी के लिए केवल एक अद्वितीय ईमेल पता" इतना है कि एक ही ईमेल डालने अनुमति दी जानी चाहिए, लेकिन केवल विभिन्न कंपनियों के लिए: तो आगे मैं तरह का अनूठा बाधा है कि "चेक" निम्नलिखित की जरूरत है। सम्मिलित करना ([email protected], कंपनी आईडी: 1) और डालने ([email protected], कंपनी आईडी: 1) की अनुमति नहीं है, लेकिन डालने ([email protected], कंपनी आईडी: 1) और डालने ([email protected], कंपनी आईडी: 2) की अनुमति दी है।
तो मैं अब तक की कोशिश की:
static mapping = {
id column: "customer_id", generator: "identity"
emailcompany composite: ['emailID', 'company'], unique: true
}
("अच्छा" प्रतीत हो रहा है, लेकिन नहीं मैं वास्तव में क्या चाहते हैं)
लेकिन मैं एक और स्तंभ नहीं चाहते हैं, मेरी कोशिश में कहा जाता है " emailcompany "- लेकिन मुझे एक अद्वितीय बाधा की तरह कुछ चाहिए।
अरे कालेब, आपके उत्तर के लिए धन्यवाद, लेकिन मुझे खेद है। मैं अपने कोड की कोशिश की लेकिन यह अभी भी दो बार (और अधिक) एक ही कंपनी आईडी के साथ एक ही ई-मेल को जोड़ने के लिए – grailsInvas0r
:-(आप .save() कॉल करने से पहले एक .validate() BoCustomer उदाहरण पर चलने करो संभव है? और अगर हां, तो सत्यापित करें के लौटने सच –
हाँ मैं एक .validate() .save कॉल करने से पहले() चलाने और यह लौटा रहा है "सही" हाँ, मैं इसे डिबगर ब्रेकपाइंट और एक परीक्षण चर के साथ की जाँच - यह सच दुर्भाग्य से लौटा रहा है:। - \ – grailsInvas0r