ANSI 連線
本章描述瞭如何在實體之間使用 ANSI Join。從 5.5 版本開始,Couchbase 伺服器支援使用欄位連線文件的 ANSI Join。以前的版本允許索引和查詢 Join,這在 SDC 中只能透過 SDK 直接查詢來支援。
跨儲存庫的實體之間的關係可以是一對一或一對多。透過定義此類關係,可以獲取關聯實體的同步檢視。
配置
透過使用 @N1qlJoin 註解實體的屬性引用,可以獲取關聯實體。字首 lks 指左側鍵空間(當前實體),rks 指右側鍵空間(關聯實體)。@N1qlJoin 註解的必需元素是 on 子句,它是一個布林表示式,表示左側 (lks) 和右側 (rks) 之間的連線條件,可以是欄位、常量表達式或任何複雜的 N1QL 表示式。還可以在註解上為 Join 指定一個可選的 where 子句,同樣使用 lks 指代當前實體,使用 rks 指代關聯實體。
示例 1. ANSI Join 註解
@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;
...
}