DataNucleus将:我如何自动提交事务时执行的操作?
-
11-09-2019 - |
题
考虑使用具有DataNucleus将具有以下结构的持久性的应用程序:
您有一个具有两个属性类似的创建的(日期)和 LASTUPDATE 的(日期)类:你如何自动填充这些属性与适当的值时,对象这个类的将是致力于? 适当的值将被设定两者的创建和 LASTUPDATE 到当对象被插入到数据库中和刚刚更新当前时间时,它具有的 LASTUPDATE 改变。
解决方案
我现在计算出来自己。
您需要创建一个 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);
}
}
}
,然后内注册它,你的PersistenceManager ...
PersistenceManager pm = pmf.getPersistenceManager();
pm.addInstanceLifecycleListener(new BasicEntityLifecycleListener(), null);
我发现在 DataNucleus将访问Plaftorm手册中的溶液,其我没有已经认识到现在。联机手册似乎有点复杂,我。
不隶属于 StackOverflow