标签: liferay-service-builder

Liferay Service Builder 6.2:多对一关系

我想创建一对多的关系,我使用了以下service.xml:

<entity name="Student" local-service="true" remote-service="true" cache-enabled="false">
    <column name="studentId" type="long" primary="true" />
    <column name="courses" type="Collection" entity="Course"/>
</entity>

<entity name="Course" local-service="true" remote-service="true" cache-enabled="false">
    <column name="courseId" type="long" primary="true" />
    <column name="studentId" type="long"/>
</entity>
Run Code Online (Sandbox Code Playgroud)

我的问题是没有为collections方法创建任何东西.没有例外,没有.生成类并且只有简单的getter方法,但没有getCourse().

我做错了什么?

liferay liferay-6 liferay-service-builder

7
推荐指数
2
解决办法
6402
查看次数

无需配置任何数据库即可创建Liferay服务构建器

是否可以创建liferay服务构建器而无需在service.xml文件中配置任何数据库表.

实际上,这里的目的是使用liferay服务构建器创建服务层.此服务层中没有直接的数据库交互.

liferay liferay-service-builder

6
推荐指数
1
解决办法
1437
查看次数

在使用Liferay 7进行查询检索期间,CustomSQLUtil获取null值

虽然我对Liferay 6.2中的CustomSQLUtil类没有任何问题,但是我在Liferay 7中遇到了这个类的新版本的问题.的确,get方法返回null而不是预期的查询.

有人复制了吗?

以下是我在Eclipse Mars中的最后一次测试的描述:

  1. 在我的Liferay工作区中,我在服务模块的build.gradle中添加了以下行

compileOnly group:"com.liferay",name:"com.liferay.portal.dao.orm.custom.sql",version:"1.0.5"

  1. 在gradle刷新之后,我能够在我的FooFinderImpl类中使用CustomSQLUtil类来检索适当的查询.

  2. 此查询已写入default.xml文件,该文件被放入sray/custom-sql文件夹中,如Liferay 7文档中所述:

https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql

我已经尝试了很多地方(在META-INF,在ressources ..),我甚至尝试扩展CustomSQL本机类来获取配置,但CustomSQLUtil类的get方法返回总是null而不是sql查询.

PS:我注意到这个新的"CustomSQLUtil.get"方法现在需要2个参数,除了查询ID之外还要求一个类.在这个类参数中,我输入了"Foo.class"值.

有人知道是否有配置要做?是否必须配置classpath或bundlecontext?

liferay java-ee liferay-service-builder liferay-7

4
推荐指数
1
解决办法
820
查看次数

Liferay Serivce Builder:无法运行动态查询

我有两个插件portlet.首先是包含所有实体的服务构建器.第二个portlet正在使用服务的jar文件来执行动态查询.

我在我的第二个插件portlet中使用第一个服务jar来与数据库进行交互.但是在这个jar文件中没有任何Impl类.这就是为什么我得到错误Impl Class未找到.以下是供参考:

DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(XXX.class,
PortletClassLoaderUtil.getClassLoader());
try {
    XXXLocalServiceUtil.dynamicQuery(dynamicQuery);
} catch (SystemException e1) {
  // TODO Auto-generated catch block
  e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

错误: [DynamicQueryFactoryImpl:96]无法找到模型com.compass.model.impl.XXXImpl java.lang.ClassNotFoundException:com.compass.model.impl.XXXImpl

正常功能正在服务构建器正常工作

liferay liferay-service-builder

4
推荐指数
1
解决办法
1013
查看次数

Liferay 7 Service Builder不会自动更新数据库

在我的Liferay 7项目中,Service Builder可以很好地生成文件tables.sql(带有完整的sql),但不会像在Liferay 6.2中那样在SERVICECOMPONENT native liferay表中包含此内容.

因此,当我重新启动服务器时,数据库中没有更新,而数据模型已被修改.

我必须手动运行tables.sql中包含的sql脚本来暂时解决问题.

有人复制了吗?是否有任何选项(Liferay 7中的新选项?)我不知道哪个可以导致这种行为.

注意:当然,选项build.auto.upgrade(在service.properties中)设置为true,并且没有service-ext.properties可以覆盖此

liferay java-ee liferay-service-builder liferay-7

3
推荐指数
2
解决办法
2271
查看次数

服务构建器不会删除DB中的表

大家好,

我正在使用LR 6.1.

我创建了一个名为"建议"的新实体service.xml,然后运行BuildServicesAnt生成服务构建文件.现在我要删除实体.所以我删除了如果从service.xml,但在数据库和其他文件中没有任何反应:数据库表在这里,另一个生成文件.

任何的想法?

非常感谢.

liferay liferay-6 liferay-service-builder

2
推荐指数
1
解决办法
1006
查看次数

Liferay 服务生成器表在每次部署时自动递增

在liferay中,我有一个实体如下:

<entity name="Foo" local-service="true" remote-service="true">

        <!-- PK fields -->

        <column name="fooId" type="long" primary="true" />

        <!-- Group instance -->

        <column name="groupId" type="long" />

        <!-- Audit fields -->

        <column name="companyId" type="long" />
        <column name="userId" type="long" />
        <column name="userName" type="String" />
        <column name="createDate" type="Date" />
        <column name="modifiedDate" type="Date" />

        <!-- Other fields -->

        <column name="field1" type="String" />
        <column name="field2" type="boolean" />
        <column name="field3" type="int" />
        <column name="field4" type="Date" />
        <column name="field5" type="String" />

        <!-- Order -->

        <order by="asc">
            <order-column name="field1" />
        </order>

        <!-- …
Run Code Online (Sandbox Code Playgroud)

liferay liferay-service-builder

2
推荐指数
1
解决办法
1210
查看次数

服务构建器 Liferay 关系

我有“存储”portlet: 在此处输入图片说明

我可以点击“添加图书”:

在此处输入图片说明

但是我需要有机会在我的书中添加作者的名字。所以我创建了新项目,新的 Service Builder 和新实体“作者”,现在我也可以添加作者。但是,当我单击“添加书籍”时,如何使用现有作者制作下拉菜单?如何将该字段与新表 - “作者”绑定?

many-to-many crud liferay liferay-service-builder

1
推荐指数
1
解决办法
344
查看次数