ANSI 連接
本章節描述如何在實體之間使用 ANSI 連接。自 5.5 版本起,Couchbase 伺服器提供 ANSI 連接的支援,可使用欄位連接文件。先前的版本允許索引與查詢連接,這些連接在 SDC 中僅透過直接查詢 SDK 來支援。
跨儲存庫的實體之間的關係可能是一對一或一對多。透過定義此類關係,可以提取關聯實體的同步視圖。
設定
可以透過使用 @N1qlJoin
註釋實體的屬性參考來提取關聯實體。前綴 lks
指的是左側鍵空間(目前實體),而 rks
指的是右側鍵空間(關聯實體)。@N1qlJoin
註釋的必要元素是 on
子句,這是一個布林運算式,表示左側 (lks
) 和右側 (rks
) 之間的連接條件,可以是欄位、常數運算式或任何複雜的 N1QL 運算式。註釋上也可以指定可選的 where
子句以進行連接,同樣地,使用 lks
來指稱目前實體,並使用 rks
來指稱關聯實體。
範例 1. ANSI 連接的註釋
@Document
public class Author {
@Id
String id;
String name;
@N1qlJoin(on = "lks.name=rks.authorName")
List<Book> books;
@N1qlJoin(on = "lks.name=rks.name")
Address address;
...
}