मैं यह सुनिश्चित करना चाहता हूं कि मेरी तालिका में सभी पंक्तियों में दो फ़ील्ड का अनूठा संयोजन हो, और मैं इसे अपनी इकाई वर्ग में एनोटेशन का उपयोग करके निर्दिष्ट करना चाहता हूं। मैंने @Table और @UniqueConstraint के संयोजन का उपयोग करने का प्रयास किया है, लेकिन स्पष्ट रूप से मैं इसे गलत कर रहा हूं, जिसमें मैं केवल यह निर्दिष्ट कर सकता हूं कि अलग-अलग कॉलम अद्वितीय होना चाहिए (मैं पहले ही निर्दिष्ट कर सकता हूं कि @ कॉलम की अनूठी संपत्ति का उपयोग करके) कॉलम के संयोजन से। उदाहरण के लिए, मुझे एक सारणी चाहिए जिसमें फ़ील्ड ए और बी में केवल पंक्तियां हों जिनमें ए और बी का अनूठा संयोजन हो। न तो फ़ील्ड/कॉलम अद्वितीय होना चाहिए, यह दोनों का संयोजन अद्वितीय होना चाहिए।कैसे निर्दिष्ट करें कि कॉलम का संयोजन एनोटेशन का उपयोग करके एक अद्वितीय बाधा होना चाहिए?
यहाँ है कि मैं क्या कोई खुशी के साथ अब तक की कोशिश की है:
@Table(name = "MY_TABLE",
uniqueConstraints = @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }))
और
@Table(name = "MY_TABLE",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }) })
कोई व्यक्ति ऐसा करने के लिए सही रास्ता सुझाव है सकते हैं? इसके अलावा यदि हाइबरनेट-विशिष्ट एनोटेशन की बजाय जेपीए एनोटेशन का उपयोग करना संभव है जो बेहतर होगा।
आपकी मदद के लिए अग्रिम धन्यवाद।
--James
[जेपीए में अद्वितीय बाधा जांच] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1839186/unique-constraint-check-in-jpa) –