持久化嵌套对象的属性

时间:2015-02-23 09:48:27

标签: jpa

我有一个表“用户”,其中包含字段名称,城市,州,国家/地区。然后,我有一个“用户”课程如下:

class User{
   String name;
   Address address;
}

Address类具有以下内容:

class Address{
   String city;
   String state;
   String country;
}

现在,如何在“用户”表中的同一条目中保存User类的“name”字段和Address类的属性?

1 个答案:

答案 0 :(得分:1)

您应将地址类标记为 @Embeddable

  

指定将其实例存储为其内部部分的类   拥有实体并分享实体的身份。每一个   嵌入对象的持久属性或字段映射到   实体的数据库表。

一个例子

@Embeddable
class Address{
   String city;
   String state;
   String country;
}

而不是

class User{
   String name;
   @Embedded
   Address address;
}

不需要@Embedded注释,但使可嵌入关系更明确