java - 如何使用 Apache ISI 中的 jdo 查询从表行号在 20 到 30 之间获取记录

标签 java jdo isis

我正在尝试获取记录 20 到 30 的记录。

我有返回jdo查询,看起来像

@javax.jdo.annotations.Queries( {

    @javax.jdo.annotations.Query(
            name="message_getByUsername", language="JDOQL",  
       value="SELECT FROM com.message.pojo.MessagePojo WHERE  to== :username order by SendDate "),


    @javax.jdo.annotations.Query(
            name="message_getByGroup", language="JDOQL",  
       value="SELECT FROM com.message.pojo.MessagePojo WHERE  group== :group order by SendDate ")



})

我正在调用类似的查询

public List<MessageConversationPojo> retriveInbox(@Named("username")  String username) {
    List<MessageConversationPojo> listOfMessage = allMatches(new QueryDefault<MessageConversationPojo>(
            MessageConversationPojo.class, "message_inbox", "username", retriveUserByUsername(username)));
        if (listOfMessage.size() != 0) {

        return listOfMessage;
    }
    return null;
}

现在我怎样才能获取第20行到第30行的记录。

最佳答案

当前发布的版本(core 1.3.0、objectstore-jdo-1.3.0)尚未实现此功能。

但是,我刚刚创建了一张票 ISIS-579进行增强并实现更改。要取回记录 20 到 30,您可以使用:

QueryDefault<MessageConversationPojo> q = 
       new QueryDefault<MessageConversationPojo>(...).withStart(20).withCount(10);

可能需要几个月的时间才能发布,因此在此期间您可以build Isis from source

关于java - 如何使用 Apache ISI 中的 jdo 查询从表行号在 20 到 30 之间获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19630196/

相关文章:

java - 如何使用 JDO 在 AppEngine 中的多对一中按父实体过滤实体

java - ISIS:Blob/Clob 字段序列化问题

isis - 有没有办法为我的域对象动态生成 CRUD 操作?

java - 从序列化中排除类和命名空间?

java - DataNucleus:提交事务时如何自动执行操作?

java - Spring电子邮件模板,隐藏收件人

java - 无法初始化com.sample.PMF类(Google App引擎)

isis - Apache ISIS isis-module-security 默认用户/密码

java - 为什么这个二分查找成功中间的返回值被忽略了?

java - 在 JPanel 中检测 mouseClick 并防止在 JPanel 中绘制圆圈的问题