无法使用Liferay Service Builder从数据库中检索值

时间:2014-05-02 11:27:57

标签: liferay liferay-6 liferay-ide liferay-velocity liferay-aui

我正在学习Liferay并被困在一个我不知道该怎么做的地方。

我将简要介绍一下我在做什么。

使用服务构建器创建库管理系统,并在Service.xml文件中包含以下代码。

<entity name="LMSBook" local-service="true" remote-service="false">
    <!-- PK fields -->
    <column name="bookId" type="long" primary="true" id-type="increment"/>
    <!-- UI fields -->
    <column name="bookTitle" type="String" />
    <column name="author" type="String" />
    <!-- Audit fields -->
    <column name="dateAdded" type="Date" />
</entity>

服务构建成功,没有任何错误。现在我使用以下代码来显示表中的数据。

请参阅以下java代码:

List <LMSBook> books = LMSBookLocalServiceUtil.getLMSBooks(0, -1);
if(books.isEmpty()) {
    System.out.println("Empty");
} else {
    //Some Code Here
}

这里的books值始终为null。我不知道为什么和DB有3行,但仍然返回null。当我检索单个值时,我能够检索但是当它达到多个值时,它只返回NULL。

我正在使用以下java代码进行单值检索:

LMSBook book = LMSBookLocalServiceUtil.getLMSBook(1);   

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

以下代码部分存在问题:

List <LMSBook> books = LMSBookLocalServiceUtil.getLMSBooks(0, -1);

它说限制0到-1,这是不正确的。

为了获得所有记录,您应该使用以下代码:

List <LMSBook> books = LMSBookLocalServiceUtil.getLMSBooks(-1, -1);

如果您使用-1作为开始和结束,它将返回所有记录。