Spring Cloud Cloud Spanner 嵌入式对象
2024-01-11 14:54 更新
					
        	            如果将B类型的对象作为A的属性嵌入,则B的列将与A的列保存在同一Cloud Spanner表中。
    
如果B具有主键列,则这些列将包含在A的主键中。B也可以具有嵌入式属性。嵌入允许在多个实体之间重复使用列,并且对于实现父子情况非常有用,因为Cloud Spanner要求子表包括其父项的关键列。
    
例如:
class X { @PrimaryKey String grandParentId; long age; } class A { @PrimaryKey @Embedded X grandParent; @PrimaryKey(keyOrder = 2) String parentId; String value; } @Table(name = "items") class B { @PrimaryKey @Embedded A parent; @PrimaryKey(keyOrder = 2) String id; @Column(name = "child_value") String value; }
B实体可以存储在定义为的表中:
    
CREATE TABLE items ( grandParentId STRING(MAX), parentId STRING(MAX), id STRING(MAX), value STRING(MAX), child_value STRING(MAX), age INT64 ) PRIMARY KEY (grandParentId, parentId, id)
请注意,嵌入属性的列名称必须全部唯一。
以上内容是否对您有帮助:
			
	    
        
        
	    
	    
        
 免费 AI IDE
 免费 AI IDE 
									 
			

 
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
更多建议: