<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、問題來源 后端的庫表設計,遵循范式原則,對于字典項,數據庫里面一般存儲的是整型數據,前端往往需要字符串數據,這里就存在了一個翻譯的問題;這里,關聯的整型字段,可能是靜態字典,也可能是動態字典,或者是靜態級聯字典,還可能是動態級聯字典; ## 二、解決辦法 平臺提供一種翻譯機制,它是用來代替交叉表關聯的一種便利化措施,本質上就是動態的把表中待翻譯的字段,去字典中匹配(字典翻譯翻譯)或者關聯其他表中欲顯示字段(關聯實體翻譯),得到的結果,追加到返回對象中去,供前端顯示; ### **好處** 既能減少冗余字段的設計,也能避免在業務代碼中充斥著大量的交叉表查詢編碼,大幅度簡化代碼的開發; ## 三、翻譯類型 平臺的字段翻譯,主要非為兩大類,各類字典翻譯和關聯實體翻譯; ### **各類字典直接字段翻譯** 包括靜態字典、屬性字典、靜態級聯字典、動態級聯字典四大類; @RayDynamicConvertFieldOfStaticDictClass(***) @RayDynamicConvertFieldOfPropDict(***) @RayDynamicConvertFieldOfStaticCascade(***) @RayDynamicConvertFieldOfDynamicCascade(***) ### **各類字典關聯字段翻譯** 包括靜態字典、屬性字典、靜態級聯字典、動態級聯字典四大類關聯; 實質上,這里是把直接翻譯的字段,改為關聯字段的翻譯,也就是根據當前字段,去找到關聯表的某個字段,然后對該字段進行翻譯; @RayDynamicConvertFieldOfStaticDictClassReferenced(***) @RayDynamicConvertFieldOfPropDictReferenced(***) @RayDynamicConvertFieldOfStaticCascadeReferenced(***) @RayDynamicConvertFieldOfDynamicCascadeReferenced(***) >[danger] Referenced后綴的,表明是間接翻譯的,就是首先從關聯表中做一次關聯查詢,得到真正待翻譯的整型字段值,然后再根據翻譯類型來做真正的翻譯; ### **關聯實體直接字段翻譯** 就是主表的字段去關聯另外一張表的另外一個字段; @RayDynamicConvertFieldOfEntity(***) ``` @RayDynamicConvertFieldOfEntityInPageEntity(fieldName = "staffId", refEntityName = "SysDepartment", refEntitySourceFieldName = "departmentId", refEntityTargetFieldName = "domainId") ``` ### **關聯實體關聯字段翻譯** 就是主表的字段去關聯另外一張表的另外一個字段; @RayDynamicConvertFieldOfEntityReferenced(***) ``` @RayDynamicConvertFieldOfEntityReferencedInPageEntity(fieldName = "staffId", refReferencedEntityName = "SysDepartment", refReferencedEntitySourceField = "departmentId", refReferencedEntityTargetField = "domainId", refEntityName = "SysDomain", refEntitySourceFieldName = "domainId", refEntityTargetFieldName = "domainName") ``` 獲取當前列表中的用戶(staffId)的部門(departmentId)所屬單位的單位名稱(domainName); ## 四、使用場景 一共分為三類,分頁列表、普通列表和單個實體; 對應注解后綴規則如下; | 序號 | 場景 | 后綴 | | --- | --- | --- | | 1 | 分頁列表 | ***InPageEntity | | 2 | 普通列表 | ***InListEntity | | 3 | 單個實體 | ***InSingleEntity | ## 五、翻譯規則 1、如果一個業務中,一個字段需要翻譯成多個字段,如果沒有自行設定translatedFieldName屬性,那么,從第2個字段起,翻譯后的字段命名為 ***Translated2,***Translated3......; 2、如果一個方法,由多個相同的翻譯類型注解,用對應的group標注來包裹同類型翻譯注解字段; 3、必須注意到,這個翻譯后的字段是動態生成的,不能直接拿來傳到后臺做查詢、分頁、排序等字段; 4、對于Referenced系列的翻譯,其首先通過refReferencedEntitySourceField字段去獲取refReferencedEntityName的refReferencedEntityTargetField字段值,然后通過該值,去做后續的翻譯(后續的翻譯就等同不帶Referenced系列翻譯了);
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看