الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما أفضل طريقة لتصميم Classes بناء على جداول Database .

بدأه Abdullah.Alshammeri في 24 مارس 2010 · 3 رد · 1,844 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .

لدي مجموعة من الجداول في قاعدة بيانات ( MySQL مثلاً ) ،

أريد كتابة كلاسات ، تقابل تلك الجداول في الجافا .. Data Objects أو Beans .

أسمع انه يوجد تقنيات أو مكتبات تقدم المطلوب ( اسم التقنية ORM على ما أظن ) ، ورأيت موضوع للأخ هويدي ، يبدو أنه قريب من الفكرة .

ولكن سؤالي الان هو حول تصميم وهندسة الكود ، بدون أدات مساعدة .

فافرضوا أنني استخدم قاعدة بيانات ، مبنية على هذا المودل ( مودل فيزيائي لقاعدة البيانات ) ، بغض النظر عن معنى تلك الجداول :

post-42837-1269392942473_thumb.png

الأسئلة :

1- كيف يمكن أن اكتب كلاسات تقابل تلك الجداول ؟ هل كل جدول يقابله كلاس معين ، وكل عمود يقابله member معين ؟

2- الجداول التي تنتج من علاقة many-to-many ، هل أمثلها في الجافا ؟ أم أتجاهلها ، أم ماذا أفعل بها ؟

أنا تجاهلتها .. واستخدمت طريقة كهذه للاستغناء عن الكلاس الثالث الذي يمثل علاقة many-to-many

class User{
String id;
Vector groups;
}

class Group{
String id;
Vector user;
}

حيث كل مستخدم موجود في أكثر من مجموعة ، وكل مجموعة تحوي على أكثر من مستخدم .

3- العلاقة بين EventLog و User هي علاقة one-to-many ، السؤال :

في الجافا ، كتبت كلاس اسمه Event و User ..

في الكلاس Event هل أكتب شيء كهذا :

class Event
{
String id;
User sender;
}

أو اكتبها هكذا :

class Event{
String id;
String user_id;
};

أي أن مشكلتي الأساسية هي مع Foreign key لا أعرف ما أفضل طريقة لتحويله الى الجافا .. هل أحوله على شكل كلاس أو حسب نوع ذلك العمود ( Integer - String ) .

4- ماهي أفضل طريقة لتسمية تلك الكلاسات المتولدة من جداول ؟ هل هناك معيار عام ، أو عرف متبع بين المبرمجين ؟

أحاول أن اكتب كود بطريقة واضحة ، وبأسلوب جيد .. فأنا في بداياتي مع JEE بشكل عام .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

عليك ب Hibernate in Action, First Edition

هذا ليس كتاب Hibernate فقط, بل هو كتاب ليعلمك كل الأمور التي تسأل عنها و أكثر,,,,,,

ملاحظه, كتاب Hibernate in action ليس كتاب ليعملك بعض البرامج, بل هو كتاب مبادئ (concept book)

بالتوفيق

1
#3

شكراً لك أخي ،

وجدت الكتاب ، وأقوم بقراءته الان ..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

You can use Hibernate Tools that can generate domain model classes and Hibernate mapping files , annotated EJB3 entity beans from a database connection

Here a short explanation

مواضيع مشابهة