不管做什么項目,肯定會用到多表關聯查詢數據,從網絡查詢得知ofbiz有三種多表關聯查詢方法
- 實現一:Screem.xml? 中的? section? 里,加? <action>,? 加? get-related
- 實現二:在代碼中使用? DynamicViewEntity對象,加入addMemberEntity,addAlias,addViewLink,再用? find? 查詢
- 實現三:在? entity.xml? 里定義? view-entity? 實體對象,在查詢時就查這個view的對象
1,方法沒寫出來,以后再補充
2, 使用finddListIteratatorByCondtion把他查出來
DynamicViewEntity dve = new DynamicViewEntity(); dve.addMemberEntity( "tt", "AA" ); dve.addAlias( "tt", "userName" ); dve.addAlias( "tt", "sex" ); dve.addRelation( "one", "", "BB" , UtilMisc.toList( new ModelKeyMap("userName", "userName" ))); dve.addMemberEntity( "te", "BB" ); dve.addAlias( "te", "userName" ); dve.addAlias( "te", "name" ); dve.addRelation( "one", "", "AA" , UtilMisc.toList( new ModelKeyMap("userName", "userName" ))); dve.addViewLink( "te", "tt", false , UtilMisc.toList( new ModelKeyMap("userName", "userName" ))); EntityListIterator salesUsageIt = delegator.findListIteratorByCondition(dve, null , null , null , null , null ); list = salesUsageIt.getCompleteList();
?
3,方法按我的理解就是相當于平常根據幾張表建一個view視圖,再查詢這個view
配置view-entity,之后查這個視圖就可以了。
<view-entity entity-name="Vview" package-name="org.ofbiz.test"> <member-entity entity-alias="TY" entity-name="AA"></member-entity> <member-entity entity-alias="TT" entity-name="BB"></member-entity> <alias-all entity-alias="TY"/> <alias name="userName" entity-alias="TY" group-by="true"/> <alias name="userName" entity-alias="TY"/> <alias name="sex" entity-alias="TY"/> <alias name="name" entity-alias="TT"/> <alias name="address" entity-alias="TT"/> <alias name="userName" entity-alias="TY" field="userName" col-alias="userName"/> <view-link entity-alias="TY" rel-entity-alias="TT"> <key-map field-name="userName" rel-field-name="userName"/> </view-link> <alias name="userName" entity-alias="TT" field="userName" col-alias="userName"/> </view-entity>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
