`
likaidalian
  • 浏览: 54003 次
社区版块
存档分类
最新评论

liferay 一对多 多对多 关系 (build-service)

 
阅读更多

通过配置service.xml 实现

 

说明:一对多和多对多关系,build-service 后会在persistence层

自动生成contain, count 和 find 方法, 需要手动在service层添加对这些方法的调用。

 

多对多:

例如 user与Group 的多对多关系, 关联表为Users_Groups

 <column name="groups" type="Collection" entity="Group" mapping-table="Users_Groups" />

 

一对多:

例如skuAttribute与skuAttributeOption之间存在一对多关系

 <column name="options" type="Collection" entity="SKUAttributeOption" mapping-key="skuAttributeId" />

 

自动生成的方法如下

//contain 方法

skuAttributePersistence.containsSKUAttributeOptions(pk);

skuAttributePersistence.containsSKUAttributeOption(pk, skuAttributeOptionPK);

 

//count 方法

skuAttributePersistence.getSKUAttributeOptionsSize(pk);

 

//finnd 方法

skuAttributePersistence.getSKUAttributeOptions(pk, start, end);

 

(一)多对多关系参考代码:

参考 liferay源码\portal-impl\src\com\liferay\portal\service.xml

<entity name="User" uuid="true" local-service="true" remote-service="true">

 

<!-- PK fields -->

 

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

 

<!-- Audit fields -->

 

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

<column name="createDate" type="Date" />

<column name="modifiedDate" type="Date" />

 

<!-- Other fields -->

 

<column name="defaultUser" type="boolean" />

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

 

<!-- Relationships -->

<column name="groups" type="Collection" entity="Group" mapping-table="Users_Groups" />

<column name="orgs" type="Collection" entity="Organization" mapping-table="Users_Orgs" />

 

<!-- Finder methods -->

 

<!-- References -->

 

<reference package-path="com.liferay.mail" entity="Mail" />

<reference package-path="com.liferay.portlet.announcements" entity="AnnouncementsDelivery" />

 

</entity>

 

(二)一对多关系 参考代码

<entity name="SKUAttribute" local-service="true" remote-service="false">

 

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

<column name="name" type="String" />

 

<!-- Relationships -->

<column name="options" type="Collection" entity="SKUAttributeOption" mapping-key="skuAttributeId" />

 <!-- order -->

 <!-- finder-->

</entity>

 

<entity name="SKUAttributeOption" local-service="true" remote-service="false">

 

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

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

<column name="name" type="String" />

 

</entity>

分享到:
评论

相关推荐

    liferay-portal-sql-6.1.1-ce-ga2-20120731132656558

    标题 "liferay-portal-sql-6.1.1-ce-ga2-20120731132656558" 暗示了这是一个关于Liferay Portal 6.1.1社区版(CE GA2)的SQL相关资源,发布日期为2012年7月31日。Liferay Portal是一个开源的企业级内容管理平台,它...

    liferay-plugins-sdk-6.1.1-20130816114619181.zip

    此外,SDK还包括了构建脚本(如`build.xml`)和配置文件(如`liferay-plugin-package.xml`),这些文件用于控制项目的构建过程和插件的元数据。`build.xml`通常使用Ant构建工具,定义了编译、测试、打包和部署的步骤...

    liferay-servicebuilder-archetype-6.1.1.zip

    【标题】"liferay-servicebuilder-archetype-6.1.1.zip" 是一个与Liferay门户框架相关的开源项目构建工具。Liferay是一款流行的开源企业级门户平台,它提供了多种服务来帮助开发者创建、管理和集成Web应用。"service...

    liferay-ide-eclipse-updatesite-1.6.2

    “liferay-ide-eclipse-updatesite-1.6.2”不仅提供了Liferay IDE的最新版本,还意味着官方对这一版本的持续维护和技术支持。开发者在使用过程中遇到任何问题,都可以通过更新站点获取解决方案或者向社区求助。 ...

    liferay-service-builder_6_2_0

    liferay-service-builder_6_2_0

    liferay-developer-guide-6.0_liferay_

    《Liferay Developer Guide 6.0》是一本深入讲解Liferay Portal开发的指南,由Liferay公司官方发布,旨在帮助开发者充分利用Liferay平台构建企业级的Web应用。这本书详细介绍了如何利用Liferay的API、服务和插件进行...

    liferay环境的搭建

    - **Liferay Plugins SDK (Software Development Kit)**: 下载地址为[liferay-plugins-sdk-6.2(PluginsSDK)](https://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.2.5%20GA6/)。这是开发portlet的...

    liferay-ide-eclipse-updatesite-1.1.0.zip

    在IT行业中,Liferay IDE是一款专为Liferay Portal开发设计的强大工具,而"Liferay-ide-eclipse-updatesite-1.1.0.zip"正是这个工具的更新站点包,它提供了针对Liferay 6.0版本的定制化集成开发环境。Liferay IDE是...

    liferay-6.2-sdk

    总之,Liferay 6.2 SDK是构建和定制Liferay Portal的强大工具,它涵盖了portlet开发、主题设计、服务建模等多个方面,为开发者提供了一个完整的开发框架,以便于创建满足业务需求的个性化企业门户。

    liferay-portal-src-6.0.6-20110225.part2

    liferay-portal-src-6.0.6-20110225.part2

    前端开源库-eslint-config-liferay

    在压缩包`eslint-config-liferay-master`中,通常包含以下内容: - `README.md`:项目介绍、安装和使用指南。 - `.eslintrc.*`:示例或默认的ESLint配置文件。 - `lib`目录:包含实际的配置规则文件。 - `package....

    liferay-plugins-sdk-5.1.2

    Liferay Portal是一个开源的企业级内容管理和协作平台,它支持多语言、可扩展性以及高度自定义的界面,广泛应用于企业内部的信息化建设。 在Liferay Plugins SDK 5.1.2中,主要包含了以下关键知识点: 1. **...

    liferay-faces-bridge-impl-3.0.0-ga1.zip

    【标题】"liferay-faces-bridge-impl-3.0.0-ga1.zip" 涉及的是Liferay Faces Bridge项目的实现模块,版本为3.0.0 GA1。Liferay Faces是Liferay门户平台的一个扩展,它提供了一种在Java EE环境中集成和使用JSF(Java...

    liferay-ide-eclipse插件

    Liferay IDE Eclipse插件是专为开发者设计的一款强大的工具,旨在提升在Eclipse集成开发环境中的Liferay Portal项目开发效率。这款插件提供了丰富的特性,使得开发者能够在Eclipse内无缝地进行Liferay相关的代码调试...

    seo-with-liferay-final-140925101855-phpapp01_liferay_

    【标题】"seo-with-liferay-final-140925101855-phpapp01_liferay_" 指的是一个关于SEO优化与Liferay门户平台结合的最终版资源,创建于2014年9月25日。这个标题暗示了文档将深入探讨如何在Liferay Portal中实施搜索...

    管理员文档-liferay-administration-guide

    ### 知识点一:Liferay管理员指南简介 在《Liferay管理员指南》中,作者Richard L. Sezov Jr. 提供了详尽的指导,帮助用户理解并充分利用Liferay的强大功能。此书适用于希望深入掌握Liferay平台管理与定制的IT专业...

    liferay-portal-service.jar

    import com.liferay.portal.kernel.util.StringBundler; StringBundler jsonStr1 = new StringBundler(150); 操作如StringBuilder,相同

    liferay-portal详解

    liferay-portal详解 Liferay Portal 是一个基于 Java 的开源门户平台,提供了一个灵活的框架来构建企业门户和 web 应用程序。本文档将从架构解析、portal 规范、portlet 容器、portlet 生命周期、liferay portal ...

Global site tag (gtag.js) - Google Analytics