Spring Cloud Datastore 关键参考关系
2024-01-12 09:34 更新
常规关系可以使用@Reference
批注进行存储。
import org.springframework.cloud.gcp.data.datastore.core.mapping.Reference; import org.springframework.data.annotation.Id; @Entity public class ShoppingOrder { @Id long id; @Reference List<Item> items; @Reference Item specialSingleItem; } @Entity public class Item { @Id Key purchasedItemKey; String name; Timestamp timeAddedToOrder; }
@Reference
关系是指以自己的种类存在的完整实体之间的关系。ShoppingOrder
和Item
实体之间的关系存储为ShoppingOrder
内部的键字段,Spring Data Cloud Datastore将其解析为基础Java实体类型:
{ "id" : 12345, "specialSingleItem" : Key(item, "milk"), "items" : [ Key(item, "eggs"), Key(item, "sausage") ] }
参考属性可以是单数或类似集合的。这些属性对应于实体和Cloud Datastore Kind中包含引用实体的键值的实际列。引用的实体是其他种类的成熟实体。
与@Descendants
关系类似,读取或写入实体将递归读取或写入所有级别的所有引用实体。如果引用的实体具有null
ID值,则它们将另存为新实体,并将具有Cloud Datastore分配的ID值。实体的密钥和实体作为引用持有的密钥之间没有关系的要求。
从Cloud Datastore读回时,不会保留类似集合的参考属性的顺序。
以上内容是否对您有帮助:
更多建议: