DataNucleus: كيف يمكنني إجراء الإجراءات تلقائيا عند بدء معاملة؟

StackOverflow https://stackoverflow.com/questions/763792

سؤال

النظر في الحصول على طلب باستخدام DataNucleus مع هيكل الثبات التالي:

لديك فئة لديها سمات اثنين مثل خلقت (التاريخ و اخر تحديث (التاريخ): كيف تقوم تلقائيا بملء تلك السمات بالقيم المناسبة عند ارتكاب كائن من هذه الفئة؟ القيم المناسبة ستكون إعداد كليهما، خلقت و اخر تحديث إلى الوقت الحالي عندما يتم إدخال كائن في قاعدة البيانات والتحديث فقط اخر تحديث عندما تغيرت.

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

المحلول

أنا أحسب نفسي الآن.

تحتاج إلى إنشاء instancelifecyclelistener....

public class BasicEntityLifecycleListener implements StoreLifecycleListener {

    public void postStore(InstanceLifecycleEvent evt) {
    }

    public void preStore(InstanceLifecycleEvent evt) {
        if((PersistenceCapable)evt.getSource() instanceof BasicEntity) {
            BasicEntity obj = (BasicEntity)evt.getSource();
            Date now = new Date();
            if(JDOHelper.isNew(obj))
                obj.setCreated(now);
            obj.setLastUpdate(now);
        }
    }
}

ثم سجلها داخل you bersistencemanager ...

PersistenceManager pm = pmf.getPersistenceManager();
pm.addInstanceLifecycleListener(new BasicEntityLifecycleListener(), null);

لقد وجدت الحل في DataNucleus Access Plaftorn دليل التي لم أدركتها حتى الآن. يبدو الدليل عبر الإنترنت مجمعا بعض الشيء بالنسبة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top