<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
     

    liferay中生成one to many 關系說明

    1:在service.xml中配置

    For example

    <column

           name="shoppingItemPrices"

           type="Collection"

           entity="ShoppingItemPrice"

           mapping-key="itemId"

    />

    說明: entitymapping-key屬性被指定將建立一個一對多的關系。

    2:運行ant build

           生成相關文件

    3:在生成的實體實現類中,如ShoppingItemImp.java,新增getShoppingItemPrice()方法

           For example

           public List getItemPrices()

           throws PortalException, SystemException {

    /*此處return2種寫法

    第一種是要求在關系實體中定義根據關聯實體id進行查詢的方法,如:

    */

    return ShoppingItemPriceLocalServiceUtil.getItemPrices(getItemId());

    /*

    第二種是通過業務層代理類獲的實體的持久類實例進行操作

    */

    return ActiveEntryLocalServiceUtil.getActiveEntryPersistence().getCheckItemEntries(this.getActiveId());

        }

    4:再次運行 ant build

    如此便可在使用實體的時候直接獲取關聯對象實體

    如:

    List list = ActiveEntry.getCheckItemEntries ();

    如果要在hbm配置文件中生成一對多關系描述,則需修改freemarker模板文件

    文件路徑:com/liferay/portal/tool/servicebuilder/dependencies/hbm_xml.flt

    (如果對其他生成文件內容做調整,也可修改其他對應的模板文件)

    修改為如下內容(也可直接copy

    <#list entities as entity>

        <#if entity.hasColumns()>

           <class name="${packagePath}.model.impl.${entity.name}Impl" table="${entity.table}">

               <cache usage="read-write" />

               <#if entity.hasCompoundPK()>

                  <composite-id name="primaryKey" class="${packagePath}.service.persistence.${entity.name}PK">

                      <#assign pkList = entity.getPKList()>

                      <#list pkList as column>

                         <key-property name="${column.name}"

                         <#if column.name != column.DBName>

                             column="${column.DBName}"

                         </#if>

                         />

                      </#list>

                  </composite-id>

               <#else>

                  <#assign column = entity.getPKList()?first>

                  <id name="${column.name}"

                      <#if column.name != column.DBName>

                         column="${column.DBName}"

                      </#if>

                      type="<#if !entity.hasPrimitivePK()>java.lang.</#if>${column.type}">

                      <#if column.idType??>

                         <#assign class = serviceBuilder.getGeneratorClass("${column.idType}")>

                         <#if class == "class">

                             <#assign class = column.IdParam>

                         </#if>

                      <#else>

                         <#assign class = "assigned">

                      </#if>

                      <generator class="${class}"

                      <#if class == "sequence">

                             <param name="sequence">${column.IdParam}</param>

                         </generator>

                      <#else>

                         />

                      </#if>

                  </id>

               </#if>

               <#list entity.columnList as column>

                  <#if column.EJBName??>

                      <#assign ejbName = true>

                  <#else>

                      <#assign ejbName = false>

                  </#if>

                  <#if !column.isPrimary() && !column.isCollection() && !ejbName>

                      <property name="${column.name}"

                      <#if column.name != column.DBName>

                         column="${column.DBName}"

                      </#if>

                      <#if column.isPrimitiveType() || column.type == "String">

                          type="com.liferay.util.dao.hibernate.${serviceBuilder.getPrimitiveObj("${column.type}")}Type"

                      </#if>

                      />

                  </#if>

                  <#if !column.isPrimary() && column.isCollection()>

                          

                      <#if column.isMappingOneToMany()>

                             <set name="${column.name}" lazy="true">

                             <key column="${column.getMappingKey()}"/>

                             <one-to-many class="${packagePath}.service.persistence.${column.EJBName}" />

                             </set>

                        </#if>

                       

                  </#if>

               </#list>

           </class>

        </#if>

    </#list>

    posted on 2008-12-18 08:39 禮物 閱讀(830) 評論(1)  編輯  收藏 所屬分類: Liferay

    評論

    # re: 在liferay中生成one to many 關系說明 2009-09-09 10:01 買禮物
    深奧呀~~  回復  更多評論
      

    主站蜘蛛池模板: 亚洲AV无码国产精品色午友在线| 亚洲成无码人在线观看| 99精品免费视品| 亚洲视频在线观看视频| 亚洲91精品麻豆国产系列在线| 黄瓜视频高清在线看免费下载| 精品亚洲A∨无码一区二区三区| 91情侣在线精品国产免费| 黄色大片免费网站| 亚洲AV日韩AV天堂一区二区三区| 黄页免费的网站勿入免费直接进入| 污污视频免费观看网站| 老色鬼久久亚洲AV综合| 亚洲成a人片在线观看国产| 日韩精品久久久久久免费| 国产精品亚洲lv粉色| 亚洲午夜免费视频| 无码不卡亚洲成?人片| 一级做a免费视频观看网站| 亚洲黄色三级网站| 亚洲欧洲久久av| 成人人免费夜夜视频观看| 免费无码作爱视频| 亚洲av无码专区在线电影| 久久亚洲春色中文字幕久久久| 国产91在线免费| 国拍在线精品视频免费观看| a级黄色毛片免费播放视频| 日韩国产精品亚洲а∨天堂免| 亚洲色图在线播放| 中文字幕精品亚洲无线码二区| 黄色片免费在线观看| 亚洲伊人久久大香线蕉| 国产亚洲无线码一区二区| 成人免费视频网站www| 国产中文字幕在线免费观看| www亚洲精品久久久乳| 亚洲校园春色另类激情| 久久亚洲日韩精品一区二区三区| 亚洲综合久久夜AV | 亚洲成AV人在线观看网址|