使用關係存儲,是否可以執行從ActivePivot存儲到加入存儲的一對多連接。假設我的ActivePivot存儲連接到SOME_ID上的另一個存儲,但另一個存儲的密鑰是SOME_ID,SOME_TYPE。然後,它可能有:配置關係存儲連接時,我可以從ActivePivot存儲進行一對多連接嗎?
AP_STORE SOME_ID | JOIN_STORE SOME_ID | JOIN_STORE SOME_TYPE
------------------------------------------------------------
1 | 1 | TYPE1
1 | 1 | TYPE2
然而,當連接嘗試,以下引發錯誤,因爲沒有在連接存儲唯一的條目:
Caused by: com.quartetfs.fwk.QuartetRuntimeException: Impossible to find exactly 1 entry from store with key: Key
我可以看到爲什麼會出現問題,因爲AP存儲中有單條記錄需要成爲分別連接到連接存儲中的每條記錄的兩條單獨記錄,但我想這不會發生,除非JOIN_STORE:SOME_TYPE也是這樣AP商店中的一個字段。
有沒有辦法讓AP店裏的這種一對多連接發生?
感謝
編輯:要清楚,SOME_TYPE不會在AP存儲(即使在不同的名稱)存在。我加入了所有常用字段,但加入商店中有多個匹配條目。匹配的條目在AP存儲中不常見且不存在的字段上有所不同。
如果我嘗試添加不在AP店存在(即使在不同的名稱)的外鍵,我得到:
Caused by: com.quartetfs.fwk.QuartetRuntimeException: com.quartetfs.fwk.AgentException: On join 'AP_STORE=>JOIN_STORE' the store 'AP_STORE' does not contain the foreign key 'FIELD_ONLY_IN_JOIN_STORE' in its fields:
我剛剛意識到,當我將條目合併到AP存儲中時,我只能合併來自加入存儲的額外密鑰而不是所有列。然後,我可以在密鑰組合上進行常規的關係存儲連接,這可以避免重複,從而節省大量內存。 – doc