<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 買禮物
    深奧呀~~  回復  更多評論
      

    主站蜘蛛池模板: 亚洲视频一区调教| 亚洲色大网站WWW永久网站| 亚洲精品午夜无码电影网| 日本免费中文字幕| 亚洲中文字幕乱码熟女在线| 免费一级e一片在线播放| 久久国产精品免费观看| 国产精品亚洲专区无码唯爱网 | 曰批视频免费30分钟成人| 曰批全过程免费视频观看免费软件 | 美景之屋4在线未删减免费 | 深夜特黄a级毛片免费播放| 亚洲一级二级三级不卡| 国产在线19禁免费观看国产| 野花香高清在线观看视频播放免费| 国产午夜亚洲不卡| 国产成人免费网站| a级毛片黄免费a级毛片| 亚洲午夜无码久久久久软件| 亚洲Av无码专区国产乱码DVD| 日本免费v片一二三区| **真实毛片免费观看| CAOPORN国产精品免费视频| 亚洲色成人WWW永久在线观看| 亚洲avav天堂av在线不卡| 日韩亚洲国产二区| 成年轻人网站色免费看 | 国产精品亚洲美女久久久| 国语成本人片免费av无码| 一级毛片在线免费观看| 一二三四在线观看免费中文在线观看| 亚洲人成7777影视在线观看| 亚洲成AV人片天堂网无码| 亚洲国产成人久久精品99| 最近中文字幕大全免费版在线| 国产精品亚洲专一区二区三区| 亚洲婷婷国产精品电影人久久| 在线a毛片免费视频观看| 成人免费视频69| AV激情亚洲男人的天堂国语| 亚洲国产成a人v在线|