2
交易我試圖從數據庫中獲取一些數據與在ofbiz簡單的加入。這裏是放置在的.java方法的代碼從controller.xml與EntityListIterator搜索需要的地方
DynamicViewEntity dve = new DynamicViewEntity();
dve.addMemberEntity("PR", "Product");
dve.addAliasAll("PR", "productName");
dve.addAliasAll("PR", "description");
dve.addRelation("one", "", "ProductAttribute", ModelKeyMap .makeKeyMapList("productId"));
dve.addMemberEntity("PA", "ProductAttribute");
dve.addAlias("PA", "attrName");
// Selected Rows
List selectedFields = UtilMisc.toList("productName", "description");
// Condition
List conditionList = UtilMisc.toList(new EntityExpr("attrName", EntityOperator.LIKE, attr), new EntityExpr("productName", EntityOperator.LIKE, key));
EntityConditionList condition = new EntityConditionList(conditionList, EntityOperator.AND);
EntityListIterator eli = delegator.findListIteratorByCondition(dve, condition, null, selectedFields, null, null);
List result = eli.getPartialList(0, 10);
eli.close();
調用時運行它,這是我收到的例外:
不能做到發現它返回一個沒有事務的EntityListIterator。將此調用包裝在一個事務中。
在進一步的調查,我發現這一點:
默認情況下,服務多將換一個大的交易身邊所有的服務,設置爲服務的_rowCount事務超時超時。 如果您不希望將所有服務調用包裝在一個事務中,請在invoke =「」後使用global-transaction =「false」參數。
所以我明白,如果我不指定任何東西應該有我的周圍包裹服務交易。我錯過了什麼?