如何在单个查询中执行

时间:2015-04-19 10:23:26

标签: java jdo

我有两个类订阅者和订阅。订阅类具有名为status的字段,其具有值(Active,Pending,Completed,Deactivated)。 订阅者可以拥有具有不同状态值的多个订阅。

我必须做什么

我必须在停用后6周才显示订阅,完成意味着在6周后我必须删除它们,并删除那些没有任何有效和待定订阅的订阅者。

预条件: 无论何时订户注册,订阅都有待审核的'状态已创建。

我的表现

public class Subscriber {
    List<Subscription> subscriptionList;
}  

public class Subscription {
    String status;
    Date modifiedDate;
}

public class PerformOperation {

    public static void main() {
        DateTime currDate = new DateTime();
        DateTime date = currDate.minusDays(42);
        Query query = pm.newQuery(Subscription.class); /*where pm is PersistentManager*/
        query.setFilter("(status == 'Completed' && status == 'Deactivated') && modifiedDate <= date");
        query.declareParameter("java.util.Date date");
        query.deleteAllPersistent(new Date(date.toMillis()));

        Query query1 = pm.newQuery(Subscriber.class);
        query1.setFilter("subscriptionList.isEmpty()");
        query1.deleteAllPersistent();

    }
}

有没有更好的方法来使用jdo?

0 个答案:

没有答案