1

我正在尝试从记录 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 行获取记录。

4

1 回答 1

1

这在当前发布的版本(核心 1.3.0,objectstore-jdo-1.3.0)中尚未实现。

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

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

这可能需要几个月的时间才能发布,所以在此期间你可以从源代码构建 Isis

于 2013-10-29T07:54:53.663 回答