2014-10-01 51 views
0

我想通過使用屬性「foreignKey」和「includeFrom」來關聯2個smartgwt數據源。使用includeFrom屬性關聯SmartGwt數據源的問題

<field name="payment_id" foreignKey="payment.id" /> 
<field name="payment_type" includeFrom="payment.type" /> 

通常沒有支付帳單,所以它沒有payment_id值。我的問題是,當我使用DS獲取賬單時,只有支付的賬單被提取,因爲默認情況下,smartgwt會執行一個Inner Join。

爲了解決這個問題我研究了一下,我發現有可能change the join used by setting the joinType attribute

<field name="payment_id" foreignKey="payment.id" joinType="outer" /> 
<field name="payment_type" includeFrom="payment.type" /> 

但是,我得到了相同的結果...

我做錯了什麼?有人有一個想法?

回答

1

以防萬一有人也有這個問題。

在手咖啡和深閱讀的joinType作品我是如何發現一個有趣的現象的解釋:

注意,外連接(見joinType)如果你選擇不使用ANSI聯接只能使用特定的數據庫產品工作。除此之外,加入策略是相同的。

所以我看這是什麼ANSI連接是,我發現,爲了使整個事情的工作它設置server.properties標誌sql.useAnsiJoins到真正需要的。

現在的作品!