<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 禮物 閱讀(838) 評論(1)  編輯  收藏 所屬分類: Liferay

    評論

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

    主站蜘蛛池模板: 亚洲女同成av人片在线观看| 国产成年无码久久久免费| 久久久久久AV无码免费网站下载| 色妞WWW精品免费视频| 国产精品亚洲一区二区三区在线| 国产福利在线观看永久免费| 亚洲国产精品专区在线观看| 亚洲av中文无码字幕色不卡| 四虎影视免费在线| 亚洲国产成人AV在线播放| 午夜视频在线在免费| 亚洲色www永久网站| 在线观看免费人成视频色| 狠狠色香婷婷久久亚洲精品| 全免费A级毛片免费看网站| 亚洲精品无码少妇30P| 国产在线ts人妖免费视频| 伊人久久五月丁香综合中文亚洲| 无码人妻一区二区三区免费手机| 国产亚洲精aa在线看| 高清在线亚洲精品国产二区| 亚洲精品视频免费| 亚洲天天做日日做天天欢毛片| 午夜性色一区二区三区免费不卡视频| 999国内精品永久免费观看| 亚洲综合偷自成人网第页色| 国产最新凸凹视频免费| caoporn国产精品免费| 国产啪精品视频网免费| 国产精品亚洲专区在线播放| 亚洲精品无码久久千人斩| 精品国产污污免费网站aⅴ| 亚洲国产精华液2020| 91亚洲视频在线观看| 51视频精品全部免费最新| 亚洲色偷精品一区二区三区| 一本久久a久久精品亚洲| 久热中文字幕在线精品免费| 全黄A免费一级毛片| 亚洲精品无码久久毛片波多野吉衣| 国产精品久久香蕉免费播放|