হাইবারনেটের হালকা ওজনের বিকল্প? [বন্ধ]


113

আমার কাছে একক ব্যবহারকারী জাভা প্রোগ্রাম রয়েছে যা আমি ডার্বি বা স্ক্লাইটের মতো হালকা ওজনের ডাটাবেসে স্টোরের ডেটা রাখতে চাই। আমি আমার প্রোগ্রামে ডেটা বিমূর্তকরণ স্তরটি ব্যবহার করতে চাই। হাইবারনেটটি অনেকগুলি কনফিগারেশন প্রয়োজন বলে মনে হয় এবং আমার যা প্রয়োজন তার জন্য ওভারকিল। হাইবারনেটের হালকা ওজনের বিকল্পগুলি কী কী?


2
উদাহরণস্বরূপ ব্যবহারের (এবং স্প্রিংয়ের সাথে উদাহরণস্বরূপ কনফিগারেশন) বিকল্পগুলি
Břetislav Wajtr

সিএমবাইলকম জেপিএ জাভা এবং অ্যান্ড্রয়েড উভয়ের জন্য একটি হালকা ওজনের জেপিএ বাস্তবায়ন। এর আকার প্রায় 380K। এটি হালকা এবং দ্রুত। সেমোবাইলকম.কম
জন

উত্তর:


142

হাইবারনেট শূন্য কনফিগারেশনের পাশে আপনি টিকা ব্যবহার করেন যদি প্রয়োজন হয়। এটি এমনকি ক্লাসপথে ম্যাপযুক্ত মটরশুটিগুলি স্বয়ংক্রিয়ভাবে আবিষ্কার করতে পারে! সরলতা এবং পাওয়ার দৃষ্টিভঙ্গি উভয় দিক থেকে আমি এর কোনও বিকল্প দেখতে পাচ্ছি না ।

এটি জেপিএ হিসাবে নিজেকে প্রকাশ করতে পারে, এটি (আইএমএইচও) আরও সহজ।


32
শূন্যের পাশে শূন্য নয়।
njzk2

12
এছাড়াও এটিকে অ্যান্ড্রয়েডে ব্যবহার করার চেষ্টা করার জন্য প্রচুর বাহ্যিক গ্রন্থাগার প্রয়োজন: পি
শেরিফ

4
আমি হাইবারনেটের একটি সহজ বিকল্প খুঁজতে চেষ্টা করেছি। একটি ব্যক্তিগত প্রকল্পে আমি মাইবাটিস (কী ভয়ঙ্কর নাম) ব্যবহার করেছি। এটি হাইবারনেটের চেয়ে অনেক বেশি কাজ ছিল। হাইবারনেট সত্যিই প্রচুর এসকিউএল কোডিং সংরক্ষণ করে এবং পিতা-মাতার সন্তানের সম্পর্কের ক্ষেত্রে সহায়তা করে। আমি জাভাটির জন্য কয়েকটি অ্যাক্টিভেকর্ড স্টাইল ওআরএম এর দিকেও তাকিয়েছিলাম। হাইবারনেটের চেয়ে কারওই পরিপক্ক বা সহজ কিছু মনে হয়নি। সুতরাং, আমি হাইবারনেটে ফিরে যাচ্ছি।
দেবদনকে

56
প্রশ্ন একটি বিকল্প সম্পর্কে ছিল না?
asukasz গ্রানার

8
হাইবারনেট Hiberernate করার জন্য একটি লাইটওয়েট বিকল্প নয়
cosbor11

55

আমার ORMLite লাইব্রেরি এই জাতীয় একটি বিকল্প। এটি মাইএসকিউএল, পোস্টগ্রিস, মাইক্রোসফ্ট এসকিউএল সার্ভার, এইচ 2, ডার্বি, এইচএসকিউএলডিবি এবং স্ক্লাইট সমর্থন করে এবং সহজেই অন্যের কাছে প্রসারিত হতে পারে। এটি ক্লাসগুলি, ভাল বসন্ত সমর্থন, নমনীয় ক্যোয়ারী নির্মাতা ইত্যাদি কনফিগার করতে টীকাগুলি ব্যবহার করে ..


OrmLite সত্যিই আশাব্যঞ্জক দেখাচ্ছে! তবে এই প্রকল্পটি কি এখনও বেঁচে আছে? এক বছরেরও বেশি সময় ধরে কোনও নতুন সংস্করণ নেই, গিথুবটিতে অনুরোধ / সমস্যাগুলি টানতে কোনও উত্তর নেই।
স্টিফান

3
সংস্করণ 5.0 জুন 2016 এ প্রকাশিত হয়েছিল
লৌরি লয়ান্টি

সংস্করণ 5.1 2/19/2018 এ প্রকাশিত হয়েছিল। তবে একেবারে হাইবারনেটের সাথে তুলনা করার মতো নয় এবং কিছু জেপিএ টীকা বাস্তবায়ন সঠিকভাবে কাজ করে না।
এম-রাজাভি

"হাইবারনেটের সাথে তুলনাযোগ্য"? এগুলি উভয়ই ওআরএম তবে অন্যথায় সম্পূর্ণ আলাদা। জেপিএ প্রয়োগের ক্ষেত্রে, যদি আপনি @ এম-রাজাভি কিছু খুঁজে পান তবে প্লিজ একটি বাগ রিপোর্ট পূরণ করুন।
ধূসর

31

এটির জন্য এখনও এক্সএমএল কনফিগারেশন প্রয়োজন, তবে মাইবাটিস (পূর্বে আইবাটিস) দেখুন


আইবাটিস খুব লাইটওয়েট। আপনি নিজের এসকিউএলকে ম্যাপিংয়ের জন্য আরও সহজে সংজ্ঞা এবং নিয়ন্ত্রণ করতে পারেন।
বার্লিন ব্রাউন

... আইব্যাটিসের জন্য একটি ভোট দিতে হবে, তবে মনে রাখবেন যে এটি কোনও ওআরএম বিকল্প নয় কারণ এটি হাইবারনেটের পছন্দগুলির সাথে প্রতিযোগিতা করার চেষ্টা করছে না। এটি কোনও প্রাণীর থেকে কিছুটা আলাদা ধরণের, তবে আপনি ওজনের ক্ষেত্রে যা খুঁজছেন তা ফিট করে।
ভেক্টর

1
এখন এটি আমার মাইবাতিস যা বাকি আছে: mybatis.org
ভ্লাদিস্লাভ রাস্ট্রুসনি

3
আমি মনে করি আমি / মাইবাটিসের এক্সএমএল আসলে একটি সুবিধা কারণ এটি জটিল প্রশ্নগুলি একটি ফর্ম্যাটে রাখে যা পরীক্ষার জন্য কোনও এসকিউএল কনসোলে সহজে অনুলিপি করা যায়।
পিটার টিলেম্যানস

22

মূলত যে লক্ষ্যগুলি রয়েছে তার জন্য পার্শ্ব-প্রতিক্রিয়া হিসাবে সরাসরি জাভাতে একটি সাবলীল ডিএসএল অনুকরণকারী এস এসকিউএল সহ jOOQ জাহাজগুলি:

  • উত্স কোড উত্পন্ন
  • এসকিউএল ভাষা বৈশিষ্ট্যগুলি যেমন ইউনিয়নগুলি, নেস্টেড SELECTs, সমস্ত প্রকারের জোইনস, এলিয়াসিং (যেমন স্ব-যোগদানের জন্য), ইত্যাদি সহ স্ট্যান্ডার্ড এসকিউএল এর সম্পূর্ণ সমর্থন
  • ইউডিটি, সঞ্চিত প্রক্রিয়া, বিক্রেতা-নির্দিষ্ট ফাংশন ইত্যাদিসহ অ-স্ট্যান্ডার্ড এসকিউএল জন্য প্রশস্ত সমর্থন

এই নিবন্ধে জোকিউউ সম্পর্কে পড়ুন: http://java.dzone.com/announcements/simple-and-intuitive-approach , বা সরাসরি ওয়েবসাইট দেখুন: http://www.jooq.org

(অস্বীকৃতি, আমি JOOQ এর পিছনে সংস্থার জন্য কাজ করি)


3
JOOQ শিলা! আমরা এটির সাথে একটি বৃহত আকারের ETL পরিষেবা কার্যকর করেছি এবং এর চেয়ে বেশি খুশি হতে পারি না। আমি আইবিটিআইএস ব্যবহার করেছি এবং জুকিউএম এক্সএমএল এর পুনঃস্থাপন এবং ধরণের সুরক্ষার অভাব ছাড়াই নিম্ন স্তরের এসকিউএল এর একই সুবিধা দেয়।
স্পাইডেন

3
আমি JOOQ এর অন্যতম সেরা বৈশিষ্ট্য উল্লেখ করতে ভুলে গেছি: জটিল এবং / অথবা গতিশীলভাবে উত্পন্ন প্রশ্নগুলি একটি নিয়ন্ত্রিত উপায়ে একত্রিত করা যেতে পারে এবং জাভা সংকলক দ্বারা যাচাই করা যেতে পারে, আপনাকে যে সমস্ত দ্ব্যর্থক সিনট্যাক্স ত্রুটি ডাটাবেস নিক্ষেপ করে তা সংরক্ষণ করে এবং সংকলন-সময় রিগ্রেশন সরবরাহ করে আপনার অধীনে স্কিমা পরিবর্তন হওয়ার জন্য কভারেজ।
স্পাইডেন

JOOQ আশ্চর্যজনক কিন্তু স্পষ্টত তার এখন ওরাকল এবং সাইবেস বিনা যাতে লোকেরা অনেক এই ফ্রেমওয়ার্ক এড়ানো হয় এবং MyBatis মত ব্যবহার করছেন না
Makky

@ মাক্কি: আপনার মতামতের জন্য ধন্যবাদ আমি আশা করি যে আপনি প্রকৃত মূল্য প্রস্তাবগুলি মাথায় রেখে চলেছেন, এবং আপনি একেবারে পৃথক কাঠামোয় স্যুইচ করতে যাচ্ছেন না যে কেবল একটি নিখরচায় এবং অন্যটি নয় on এটি আপনার সফ্টওয়্যারটিতে রক্ষণাবেক্ষণ এবং মাইগ্রেশনের জন্য ব্যয় করা নিষিদ্ধ এবং যেকোন যুক্তিসঙ্গত বাণিজ্যিক লাইসেন্সের বাইরে ...
লুকাশ এডার

15

জেডিবিসি প্রোগ্রামিংয়ের বাইরে পুনরাবৃত্তিমূলক গ্রান্টওয়ার্কটি অ্যাপাচি কমন্স ডিবিইটিলস গ্রহণ করে। এটির জন্য সামান্য কনফিগারেশন প্রয়োজন এবং এটি শিখতে সহজ। এটি কোনও ওআরএম কাঠামো নয় (এখানে বর্ণিত হাইবারনেট এবং অন্যান্য ফ্রেমওয়ার্কগুলি এমনভাবে নয়) তবে এটি জাভা সদস্য ক্ষেত্রগুলিতে SELECT কলামগুলির পাশাপাশি অন্যান্য পুনরাবৃত্তিমূলক জেডিবিসি প্রোগ্রামিং কার্যগুলিতে স্বয়ংক্রিয় ম্যাপিং করে। এটি অবশ্যই লাইটওয়েট।


12

আপনি ইইবিন ওআরএম এ দেখতে পারেন । - কোনও সেশন নেই - অলস লোডিং কেবল কাজ করে - ব্যবহার এবং শেখার জন্য সহজ এপিআই।


এটি এসকিউএলাইট এবং অ্যান্ড্রয়েডের সাথে সামঞ্জস্যপূর্ণ?
এন্ড্রিহ

এসকিউএলাইট সমর্থন যুক্ত করা হয়েছে। আমি এটিকে এখনও অ্যান্ড্রয়েডে চেষ্টা করে দেখিনি।
রব বাইগ্রাভ

9

কেয়েন আমার ভাল সেবা করেছে। তুলনামূলকভাবে বুঝতে সহজ এবং এটি পেতে এবং চলমান। আমি বিপরীত প্রকৌশল অংশটি বিশেষত কমনীয় মনে করি। একটি জিইউআই দিয়ে কনফিগারেশন করা যায়।


6

আমি অ্যাপাচি সাম্রাজ্য-ডিবি প্রস্তাব করতে পারি। http://incubator.apache.org/empire-db/

অ্যাপাচি এম্পায়ার-ডিবি একটি ওপেন সোর্স রিলেশনাল ডেটা অবিশ্বাস উপাদান যা ডেটাবেস বিক্রেতাকে স্বাধীন গতিশীল ক্যোয়ারী সংজ্ঞা পাশাপাশি নিরাপদ এবং সাধারণ ডেটা পুনরুদ্ধার এবং আপডেট করার অনুমতি দেয়। হাইবারনেট, টপলিংক, আইবাটিস বা জেপিএ বাস্তবায়নের মতো অন্যান্য বেশিরভাগ সমাধানের সাথে তুলনা করে, এম্পায়ার-ডিবি সংকলন-সময় সুরক্ষা , স্বল্পতা হ্রাস এবং উন্নত বিকাশকারী উত্পাদনশীলতার উপর বিশেষ দৃষ্টি নিবদ্ধ করে একটি যথেষ্ট আলাদা দৃষ্টিভঙ্গি গ্রহণ করে ।

একটি উদাহরণ:

// Define the query
DBCommand cmd = db.createCommand();
DBColumnExpr EMPLOYEE_FULLNAME= db.EMPLOYEES.LASTNAME.append(", ")
                        .append(db.EMPLOYEES.FIRSTNAME).as("FULL_NAME");
// Select required columns
cmd.select(db.EMPLOYEES.EMPLOYEE_ID, EMPLOYEE_FULLNAME);
cmd.select(db.EMPLOYEES.GENDER, db.EMPLOYEES.PHONE_NUMBER);
cmd.select(db.DEPARTMENTS.NAME.as("DEPARTMENT"));
cmd.select(db.DEPARTMENTS.BUSINESS_UNIT);
// Set Joins
cmd.join(db.EMPLOYEES.DEPARTMENT_ID, db.DEPARTMENTS.DEPARTMENT_ID);
// Set contraints and order
cmd.where(EMP.LASTNAME.length().isGreaterThan(0));
cmd.orderBy(EMP.LASTNAME);;


2

আমি পার্টিতে কিছুটা দেরী করতে পারি, তবে আমি ২০১০ সালে অ্যাক্টিভজেডিবিসি প্রকাশ করেছি , যা অ্যাক্টিভেকর্ড প্যাটার্নের একটি ওআরএম বাস্তবায়ন, নির্ভরতাগুলিতে হাইবারনেটের চেয়ে 10 গুণ বেশি হালকা, রান সময়ে কমপক্ষে দ্বিগুণ দ্রুত এবং এর জন্য শূন্য কনফিগারেশন প্রয়োজন বা টীকাগুলি।


1

আপনি প্রপায়ালার (সোর্সফোর্জে) একবার দেখে নিতে পারেন। অধ্যবসায়ের জন্য আরও কিছুটা কম ওজনের পন্থা। নাকি আপনি ডিবির বিরুদ্ধে রিপোর্টিং করার কথা ভাবছিলেন?




-2

Kiteframework এছাড়াও খুব হালকা orm কাঠামো। এটি সর্বনিম্ন কনফিগারেশন সহ প্রায় সমস্ত ডিবি অপারেশন সরবরাহ করে।

http://deipakgarg.github.com/Kite-ORM/

প্রকাশ: আমি এই প্রকল্পের লেখক


3
স্ট্যাক ওভারফ্লোতে স্বাগতম! আপনার উত্তর পোস্ট করার জন্য ধন্যবাদ! দয়া করে স্ব-প্রচারের এফএকিউ অবশ্যই মনোযোগ সহকারে পড়তে ভুলবেন না । এছাড়াও মনে রাখবেন এটা করা হয় যে প্রয়োজনীয় যে আপনি একটি দাবিত্যাগ প্রত্যেক সময় আপনি আপনার নিজের সাইট / পণ্যের প্রতি সংযোগ আছে পোস্ট করুন।
অ্যান্ড্রু বারবার

2
এটি বিকাশে নেই, লেখকের কাছ থেকে কোনও নতুন বর্তমান মুক্তি নেই, শেষ প্রত্যাশিত প্রকাশটি ২০১২ সালে হয়েছিল
বরুণ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.