मैं डेटा परत एकीकरण परीक्षण के लिए एचएसक्यूएलडीबी का उपयोग कर रहा हूं, जो कि बढ़िया है। हालांकि, मुझे लगता है कि मेरी विदेशी कुंजी बाधाएं मेरे परीक्षणों के रास्ते में हो रही हैं। उदाहरण के लिए, एक टेबल पर एक साधारण चयन का परीक्षण करने के लिए, मुझे डमी डेटा को पांच अतिरिक्त तालिकाओं में डालना होगा। यह मुझे चीजों को फेंकना चाहता है।एचएसक्यूएलडीबी के साथ टीडीडी - विदेशी कुंजी को हटाने
मेरे पास हमारे मॉडल कोड में जेपीए एनोटेशन हैं, और कॉन्फ़िगरेशन में स्कीमा (hbm2ddl.create-drop) को फिर से बनाने के लिए हाइबरनेट को कॉन्फ़िगर किया है। तालिकाओं को उत्पन्न होने पर विदेशी कुंजी बाधाओं के रूप में जोड़ों का सही ढंग से व्याख्या किया जा रहा है।
- नहीं विदेशी कुंजी शुरू में बनाने (आदर्श, साफ), या
- एक तरह से प्रोग्राम के रूप में डेटाबेस में सभी विदेशी कुंजी ड्रॉप करने का पता लगाएं (थोड़े:
मैं चाहता क्या या तो करने के लिए है हैकी लेकिन काम पूरा हो जाएगा)
यदि यह सहायक है, तो मैं इन परीक्षणों को स्वचालित करने के लिए वसंत का उपयोग कर रहा हूं। प्रश्न में परीक्षण AbstractTransactionalJUnit4SpringContextTests से प्राप्त होते हैं।
आपको क्या लगता है? क्या यह किया जा सकता है?
धन्यवाद !!! आप सिर्फ मेरी टेस्ट क्लास को आधा हाथ में कटौती करते हैं। दिलचस्प बात यह भी रूट करना आसान बनाता है जहां हाइबरनेट अनावश्यक आंतरिक जुड़ता है। । ' – roufamatic
AbstractTransactionalJUnit4SpringContextTests ... का उपयोग कर किसी के लिए जादू इस है। – roufamatic
@roufamatic खुशी है कि आप इसे उपयोगी पाते; ' simpleJdbcTemplate.getJdbcOperations() पर अमल ("REFERENTIAL_INTEGRITY गलत पर सेट है,"): –