आप स्कैला & जावा का उपयोग कर सकते हैं जो भी आपको लगता है कि प्रत्येक के लिए सबसे अच्छा काम करता है।
मुझे पता है कि हाइबरनेट को जावा में होना होगा।
यह जरूरी नहीं है। आप स्काला कक्षाओं को हाइबरनेट ओआरएम ऑब्जेक्ट्स के रूप में उपयोग कर सकते हैं। आपको बस यह सुनिश्चित करना होगा कि संकलित। क्लास फाइलें उसी गेटर्स, सेटर्स और डिफॉल्ट कन्स्ट्रक्टर के साथ समाप्त हों जो हाइबरनेट अपेक्षा करता है।
यहां तक कि आपका वेब ऐप मॉड्यूल स्कैला में भी लिखा जा सकता है। नियंत्रकों को बस उस अनुबंध का पालन करने की आवश्यकता है जो स्प्रिंग एमवीसी की अपेक्षा करता है।
सामान्य रूप से, जावा में लिखी गई लगभग कुछ भी स्केल में फिर से लिखी जा सकती है। मोटे तौर पर अपवाद हैं लेकिन प्रति-नैतिकता स्वयं को कोशिश करने से सीमित नहीं करती है। मान लें कि आपका मौजूदा कोड पागल (यानी काला-जादू प्रतिबिंब) के लिए कुछ भी नहीं करता है, यह ठीक होना चाहिए।
दिलचस्प यहाँ सवाल ... कैसे Maven के साथ काम कर इसे पाने के लिए है
एक existing SO question जो (मिश्रित स्केला और जावा संसाधनों के साथ बहु मॉड्यूल) परियोजना में काम कर रहे इस तरह की प्राप्त करने के लिए maven-scala-plugin का उपयोग कर का वर्णन करता है । इस समाधान में मैं एकमात्र अतिरिक्त टिप्पणी जोड़ूंगा कि, मेरे अनुभव में, हम केवल जावा स्रोतों पर निर्भर होने वाले स्कैला मॉड्यूल के साथ काम कर सकते हैं, न कि दूसरी तरफ। ऐसा इसलिए था क्योंकि हमारी मेवेन कॉन्फ़िगरेशन ने जावा कंपाइलर और स्कैला कंपाइलर का अलग-अलग उपयोग किया था। सिद्धांत रूप में, स्कैला संकलक जावा फ़ाइलों को भी संकलित कर सकता है, इसलिए यदि आप इसे सब कुछ के लिए एक कंपाइलर का उपयोग करने के लिए कॉन्फ़िगर करते हैं, तो आपको इस सीमा का सामना नहीं करना पड़ेगा।
संपादित करें:
Blankman टिप्पणी की:
@Jesse ताकि आप यह किया है भी तो? यकीन नहीं है कि मैं मेवेन मुद्दा समझ गया।
हां, मैंने दो परियोजनाओं पर काम किया है जिन्होंने मिश्रित जावा और स्कला स्रोतों का उपयोग किया है। हमने हाइबरनेट परत के लिए स्कैला का उपयोग नहीं किया लेकिन हमने बाकी सब कुछ के लिए किया।
मैवेन मुद्दा जो मैं वर्णन कर रहा हूं वह हमारे मैवेन-स्कैला-प्लगइन कॉन्फ़िगरेशन का परिणाम था। आपको अपनी स्कैला फ़ाइलों को संकलित करने के तरीके को जानने के लिए इसे कॉन्फ़िगर करना होगा। हमारे कॉन्फ़िगरेशन (संभवतः सही नहीं) जावा जावा फ़ाइलों को संकलित करने के लिए पहले स्थापित किया गया था, javac का उपयोग करके, और फिर स्केलैक का उपयोग करके स्कैला फ़ाइलों को संकलित करें।इसका मतलब था कि हमें जावा कोड लिखने की इजाजत नहीं थी, जिसने स्कैला कक्षाओं का संदर्भ दिया क्योंकि वे संकलन समय पर उपलब्ध नहीं होंगे। उचित कॉन्फ़िगरेशन के साथ, स्केलैक कंपाइलर का उपयोग अपने सभी स्रोतों को एक साथ संकलित करने के लिए करना चाहिए जो इस अजीब प्रतिबंध को हटा देगा। ऊपर से जुड़े एसओ प्रश्न में उदाहरण कॉन्फ़िगरेशन के साथ-साथ संकलन समय के मुद्दों के बारे में कुछ चर्चा है जिसके बारे में मैं बात कर रहा हूं। यदि आपको प्लगइन सेट अप करने के लिए अधिक संदर्भ की आवश्यकता है, तो आधिकारिक दस्तावेज़ के लिए प्लगइन की वेबसाइट (ऊपर से भी लिंक) देखें।
मेरी सलाह: "नहीं"। ;) –