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;
...
}