【问题标题】:How to get the date when an entity was persisted如何获取实体持久化的日期
【发布时间】:2013-04-30 18:41:58
【问题描述】:

我想按添加到顶部的最后一个单元格表对单元格表进行排序,现在,为此,我需要按它们添加到应用程序的日期对它们进行排序。有没有办法得到这个日期?或者我必须为每个类创建一个新属性?谢谢!

【问题讨论】:

    标签: google-app-engine gwt google-cloud-datastore


    【解决方案1】:

    您需要创建自己的属性。

    【讨论】:

    • 是的,我是这样做的。谢谢!
    【解决方案2】:

    如果我理解得很好,您可以使用比较器。例如,假设您在 gwt.shared.model 包中有一些类,例如:

    public class SomeClass implements IsSerializable {
    
        private Date date;   
    
        // some stuff...
    
    }
    

    然后,为该类实现一个比较器

    import java.util.Comparator;
    
    public class SomeClassComparator implements Comparator<SomeClass> {
    
    @Override
    public int compare(SomeClass someObject1, SomeClass someObject2) {
            if (someObject1.getDate().getTimeInMillis() > someObject2.getDate().getTimeInMillis()) return 1
            else if someObject1.getDate().getTimeInMillis() > someObject2.getDate().getTimeInMillis() return 0;
            else return 0;
    }
    
    }
    

    在向表中添加对象之前,您必须:

    List<SomeClass> someObjects = ... // list of objects
    Collection.sort(someObjects); 
    

    然后您可以在单元格表中显示它们。

    编辑1:比较器必须包含在gwt.shared.model中

    【讨论】:

    • 这很好,但我必须实现 Comparable,而不是 Comparator。当您有要排序的向量时,Collections.sort() 可以比较。
    • 知道了(我认为),您正在尝试提供可比较的行为,而不是按方法对实例进行排序,可以吗?
    猜你喜欢
    • 1970-01-01
    • 2011-06-07
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2012-03-27
    • 2015-11-15
    相关资源
    最近更新 更多