2012-03-12 7 views
12

क्या तरह http://vimeo.com/28885655वैकल्पिक हाइबरनेट को

प्रोग्रामर के लिए सबसे अच्छा समाधान होगा लोग हैं, जो वीडियो बनाया मानना ​​है

  1. कई मामलों हाइबरनेट में overkill है
  2. बेसिक एसक्यूएल एक अच्छा भाषा कि हाइबरनेट है ज्यादा

को दूर सार मैं कुछ अन्य ORM कार्यान्वयन के बारे में

०१२३५१६४१०६ की तरह सुना

मैं सुनने के लिए कि वे किस तरह की तुलना करने और हर एक के फायदे/नुकसान क्या हैं चाहते हैं।

+0

क्या आप ओआरएम समाधान चाहते हैं? – MJM

+0

बहुत मजेदार वीडियो :-) – assylias

+1

मुझे एसकेएल –

उत्तर

5

Here आप जावा ओआरएम और दृढ़ता समाधान की विस्तृत सूची पा सकते हैं। निम्नलिखित सभी हाइबरनेट/जेपीए दृष्टिकोण नहीं हैं, उनमें से कुछ डिजाइन द्वारा काफी आसान हैं।

बेशक ऐसे साइट पर सूचीबद्ध समाधान नहीं हैं, यानी Spring JDBC with templates, etc.। और यह उन परियोजनाओं के लिए मेरी व्यक्तिगत पसंद है जिन्हें तेजी से, जेडीबीसी एक्सेस बनाने में आसान और स्प्रिंग का उपयोग कर रहे हैं।

आम तौर पर, मेरे लिए कम से कम, यह कहना थोड़ा जल्दी है कि हाइबरनेट खराब है और यह बड़ा हो गया है। यह इसके उद्देश्य को काफी अच्छी तरह से सेवा देता है, लेकिन कई जूते के लिए उपयुक्त हो गया है। मेरी व्यक्तिगत राय यह है कि यह वैसे ही रहेगा, लेकिन नोएसक्यूएल समाधान संभवतः Spring Data जैसे जावा डेटा मैपिंग समाधान की एक नई नस्ल को जन्म देगा। आवेदन डेटा के साथ बातचीत करने के लिए एक सरल दृष्टिकोण बनाने की आवश्यकता है, लेकिन मुझे विश्वास नहीं है कि वहां कैसे पहुंचे इस पर सर्वसम्मति है ... अभी तक।

+0

की तुलना में लिखना बहुत आसान है, वर्तमान में लोकप्रिय गैर-जेपीए हल्के ओआरएम ढांचे की तुलना करने की कोशिश की गई https://github.com/bwajtr/java-persistence-frameworks-comparison –

3

आप इस्तेमाल किया एसक्यूएल पर नियंत्रण चाहते हैं और सामान्य रूप में JDBC के करीब रहने के हैं, तो आप XML- के आधार पर MyBatis है, जो आप अपने खुद के प्रश्नों लिखने के जाने और POJOs करने के लिए "स्वचालित रूप से" मानचित्रण resultsets लिए एक रूपरेखा प्रदान में रुचि हो सकती या एनोटेशन-आधारित मेटाडाटा।

एक का चयन एक्सएमएल में इस प्रकार दिखाई देगा:

<select id="selectUsers" parameterType="int" resultType="my.User"> 
select id, username, password 
from users 
where id = #{id} 
</select> 

यह इस तरह एक उपयोगकर्ता के लिए मैप किया जाएगा:

<resultMap id="userResultMap" type="my.User"> 
    <id property="id" column="id" /> 
    <result property="username" column="user_name"/> 
    <result property="password" column="hashed_password"/> 
</resultMap> 
गुण POJO my.User

में बीन गुण जा रहा है

5

प्रस्तुतकर्ता एक अच्छा मामला बनाता है कि कुछ ढांचे अत्यधिक जटिल हैं। ओआरएम पुस्तकालयों की विशाल संख्या एक संकेतक प्रतीत होता है कि एक अच्छा समाधान छद्म है।

गिथब, बिटबकेट, स्रोत फोर्ज में सैकड़ों ओआरएम परियोजनाएं हैं। Wikipedia में भी एक अच्छी सूची है।

मैंने जेपीए जैसे जटिल ढांचे के हल्के विकल्प के रूप में sormula का आविष्कार किया। सुविधाओं और उदाहरणों की सूची के लिए sormula site देखें।

इसमें एक पैकेज भी शामिल है जो उन दृष्टिकोणों के लिए सक्रिय रिकॉर्ड पैटर्न लागू करता है लेकिन इसकी आवश्यकता नहीं है।