क्या स्प्रिंग डेटा रेस्ट के साथ एक ही जेपीए इकाई के लिए दो अलग-अलग भंडार प्रकाशित करना संभव है? मैंने दो रिपोजिटरी को अलग-अलग पथ और रिला-नाम दिए, लेकिन इनमें से केवल एक ही आरईएसटी एंडपॉइंट के रूप में उपलब्ध है। बिंदु मैं दो रिपोजिटरी क्यों कर रहा हूं, उनमें से एक एक अंश है, जो केवल एक इकाई के मूल क्षेत्रों को दिखाता है।वसंत डेटा आराम में समान इकाई के लिए एकाधिक रेपॉजिटरीज
उत्तर
उत्तर ऐसा लगता है: प्रति इकाई केवल एक भंडार संभव है।
भयानक हिस्सा न केवल आप ही इकाई प्रति 1 वसंत डेटा बाकी भंडार (@RepositoryRestResource), लेकिन भी है कि यदि आप एक नियमित रूप से जेपीए @Repository (CrudRepository या PagingAndSorting की तरह) यह भी साथ बातचीत करेंगे हो सकता है वसंत डेटा एक आराम (जैसा कि मानचित्र में कुंजी स्वयं इकाई है)। एक या दूसरे के यादृच्छिक भार को डिबग करने में कुछ घंटों खो गए। मुझे लगता है कि अगर यह वसंत डेटा आराम की एक कठिन सीमा है तो कम से कम एक अपवाद को फेंक दिया जा सकता है यदि मूल्य को ओवरराइड करने का प्रयास करते समय मानचित्र की कुंजी पहले से मौजूद है।
तो, यह सीधे सवाल का जवाब नहीं देता है, लेकिन अंतर्निहित मुद्दे को हल करने में मदद कर सकता है।
आपके पास प्रति इकाई केवल एक भंडार हो सकता है ... हालांकि, आपके पास प्रति तालिका एकाधिक इकाइयां हो सकती हैं; इस प्रकार, प्रति टेबल एकाधिक भंडार होने।
कोड मैंने लिखा का एक सा में, मैं दो संस्थाओं ... एक पूर्व निर्धारित आईडी के साथ एक स्वत: जनरेट आईडी के साथ एक और एक अन्य बनाने के लिए किया था, लेकिन दोनों एक ही मेज की ओर इशारा करते:
@Entity
@Table("line_item")
public class LineItemWithAutoId {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String id;
...
}
@Entity
@Table("line_item")
public class LineItemWithPredefinedId {
@Id
private String id;
...
}
फिर, मेरे पास प्रत्येक के लिए एक भंडार था:
public interface LineItemWithoutId extends Repository<LineItemWithAutoId,String> {
...
}
public interface LineItemWithId extends Repository<LineItemWithPredefinedId,String> {
...
}
पोस्ट की गई समस्या के लिए, आपके पास दो इकाइयां हो सकती हैं। सबकुछ के लिए गेटर्स और सेटर्स के साथ एक पूर्ण इकाई होगी। दूसरा, वह इकाई होगी, जहां सब कुछ के लिए सेटर्स हैं, लेकिन केवल उन फ़ील्ड के लिए गेटर्स जिन्हें आप सार्वजनिक करना चाहते हैं। इसका कोई मतलब भी है क्या?
- 1. वसंत-डेटा-आराम
- 2. वसंत-डेटा-आराम
- 3. वसंत-डेटा-आराम
- 4. वसंत बूट डेटा आराम जेपीए - इकाई कस्टम निर्माण (उपयोगकर्ता)
- 5. वसंत डेटा आराम में प्रक्षेपण के लिए स्वयं लिंक जोड़ना
- 6. कार्य इकाई, रेपॉजिटरीज और आईडीस्पोज़ेबल
- 7. वसंत डेटा आराम - कस्टम जेसन स्कीमा/आल्प्स?
- 8. लेनदेन के भीतर वसंत-डेटा-आराम अनुप्रयोग घटनाओं को संभालें
- 9. एक नई मूल इकाई कैसे बनाएं जो वसंत डेटा आराम/HATEOAS
- 10. वसंत-डेटा-कैसंड्रा भंडारों के लिए एकाधिक कुंजीपटल समर्थन?
- 11. वसंत आराम प्रतिक्रिया प्राप्त करने में समस्या
- 12. वसंत डेटा जेपीए java.lang.IleglegalArgumentException: एक इकाई नहीं
- 13. स्प्रिंग डेटा आरईएसटी प्रक्षेपण के लिए सुरक्षा को आराम दें
- 14. नियंत्रक आराम सेवा के लिए वसंत जूनिट परीक्षण केस
- 15. वसंत इकाई के लिए नकली @Service इंजेक्शन
- 16. डीडीडी में सेवाएं और रेपॉजिटरीज (सी #)
- 17. वसंत डेटा में संग्रह इकाई पर लिंक का खुलासा REST
- 18. Django आराम फ्रेमवर्क में एकाधिक मॉडल?
- 19. वसंत एमवी बनाम जैक्स-आरएस आराम
- 20. वसंत डेटा MongoDB: "इकाई संबंधों" को कैसे कार्यान्वित करें?
- 21. समान तालिका में एकाधिक कॉलम के लिए आंतरिक शामिल हों
- 22. एकाधिक गतिविधियों के बीच समान डेटा कैसे साझा करें
- 23. आराम से एपीआई - बड़ी मात्रा में डेटा
- 24. वसंत डेटा elasticsearch
- 25. वसंत डेटा
- 26. इकाई ढांचे में एक इकाई इकाई में एकाधिक टेबल मैपिंग
- 27. वसंत डेटा बाकी बनाम वसंत डेटा जेपीए
- 28. कैसे js चलाने के लिए वसंत डेटा
- 29. इकाई परीक्षणों में वसंत एम्बेडेड एलडीएपी सर्वर
- 30. वसंत MVC में आराम और JSP मिश्रण, JSP
यह संभव नहीं है। स्प्रिंग डेटा आरईएसटी के साथ एक प्रबंधित संसाधन एक इकाई एक भंडार नहीं है। लाइब्रेरी प्रबंधित संसाधनों का 'मानचित्र' रखती है जहां कुंजी इकाई वर्ग है। इसलिए, इकाई को एक समय में केवल एक भंडार इंटरफ़ेस में मैप किया जा सकता है (चूंकि 'मानचित्र' कुंजी के लिए केवल एक मान रख सकता है)। यदि आपके आवेदन के लिए प्रति इकाई वर्ग में एकाधिक भंडार रखने के लिए यह महत्वपूर्ण है, तो आप स्प्रिंग डेटा टीम के साथ एक वृद्धि अनुरोध बढ़ा सकते हैं। – manish
मल्टीमैप्स हैं। तकनीकी रूप से निश्चित रूप से कोई बाधा नहीं है। एक सैद्धांतिक दृष्टिकोण से, हमारे उपयोग के मामलों में, एक संसाधन के साथ एक संसाधन की पहचान नहीं की जा सकती बल्कि एक डीबी के अर्थ में। दृश्य स्प्रिंग डेटा रेस्ट में अनुमानों के अनुरूप हैं। तो यह बहुत अच्छा होगा अगर मैं उन पर अनुमानों और संचालन को संसाधनों पर मैप कर सकता हूं। – Gregor
मेरी टिप्पणी [वास्तविक वसंत डेटा आरईएसटी कार्यान्वयन] पर आधारित थी (https://github.com/spring-projects/spring-data-rest/blob/master/spring-data-rest-core/src/main/java /org/springframework/data/rest/core/config/ResourceMappingConfiguration.java)। मुझे पता है कि 'मल्टीमैप' जैसी संरचनाएं हैं, यही कारण है कि मैंने सुझाव दिया कि आप स्प्रिंग डेटा टीम के साथ एक वृद्धि अनुरोध को बढ़ाने पर विचार करें। – manish