سؤال

أنا أولد .hbm.xml تعيين الملفات و .java ملفات من مخطط DB ، مع أدوات السبات. سؤالي هو ، هل هناك أي خيار ، لإنشاء فصول الخدمة أيضًا؟ هذه هي الفئات التي أقوم بتنفيذها في المتجر () ، والبحث () ، و delete () ، وما إلى ذلك .... أعلم أنه بالنسبة لـ C# ، هناك العديد من الحلول لتوليد كل شيء تقريبًا. أنا أبحث عن نفس الشيء ، ولكن مع السبات. هل هنالك أي؟

هل كانت مفيدة؟

المحلول

إن توليد "الخدمات" لا معنى له بالنسبة لي لأن الخدمات تنفذ عادة منطق الأعمال (لا يمكن لسباق السبات توليدها بطريقة سحرية).

الآن ، إذا كان ما تعنيه هو رمز الوصول إلى البيانات ، أي DAOS (فضح وتنفيذ أساليب ومكتشفات CRUD) ، ثم أدوات السبات تستطيع أن تفعل ذلك. هذا هو رمز داو (.java) الخيار على التقاط المكون الإضافي Eclipse ظاهر أدناه:

alt text http://docs.jboss.org/tools/2.0.0.ga/hibernatetools/en/html/images/codegenexporters.png

أي ما يعادل مهمة النمل هو hbm2dao.

لكنني شخصياً لا أستخدم هذه الميزة وسأذهب طريق دوفمو.

نصائح أخرى

لا يوجد خيار لإنشاء الخدمات.

يجب أن تكون قادرًا على كتابة واجهة DAO عامة واحدة وتنفيذها مع السبات.

مثله:

package persistence;

import java.io.Serializable;
import java.util.List;

public interface GenericDao<T, K extends Serializable>
{
    T find(K id);
    List<T> find();
    List<T> find(T example);
    List<T> find(String queryName, String [] paramNames, Object [] bindValues);

    K save(T instance);
    void update(T instance);
    void delete(T instance);
}

الربيع رو قد يكون لديك ما تريد.

يمكنك تنفيذ طبقة الوصول إلى البيانات عن طريق الإعلان فقط عن واجهات ، وتنفيذها باستخدام وكلاء JDK ، ثم استدعاء طرق السبات. التفاصيل هنا - طبقة بسيطة للوصول إلى البيانات باستخدام السبات.

لقد قمت بتنفيذ هذا وهو يعمل بشكل جيد وقد نمت لتلبية احتياجاتي. لقد قمت بتوسيع نطاق الإضافة () ، إزالة () إلخ.findQueryName) واستخدام الأدوية الجيلية ، لذلك كل ما أحتاج إلى القيام به لإعلان واجهة الوصول إلى بيانات CRUD الأساسية

   public interface SomeObjectDAO extends GenericDAO<SomeObject> {
   }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top