문제

다음 지속성 구조와 함께 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);
        }
    }
}

그런 다음 PersistEncemanager 안에 등록하십시오 ...

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

나는 솔루션을 찾았다 Datanucleus Access Plaftorm 매뉴얼 지금까지 인식하지 못했습니다. 온라인 매뉴얼은 나에게 약간 복잡해 보입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top