如何使用JPA Embeddables类?

时间:2015-01-10 16:41:29

标签: java spring java-ee jpa jpa-2.0

我正在攻读Spring Core认证,我对 Embeddables JPA课程的工作方式有所怀疑。

所以我有这个例子:

1)映射 T_CUSTOMER 数据库表的客户实体类

@Entity
@Table(name= “T_CUSTOMER”)
public class Customer {

    @Id
    @Column (name=“cust_id”)
    private Long id;

    @Embedded
    @AttributeOverride
    (name="postcode", column=@Column(name="ZIP"))
    private Address office;
    …
    …
    …
}

2)地址实体类,它只代表一个地址(并且不映射任何数据库表):

@Embeddable
public class Address {
    private String street;
    private String suburb;
    private String city;
    private String postcode;
    private String country;
}

正如您在客户实体类中看到的那样,有以下字段:

@Embedded
@AttributeOverride
(name="postcode", column=@Column(name="ZIP"))
private Address office;

@Embedded @AttributeOverride 注释的规则和含义究竟是什么?

我认为这可以通过以下方式运作:

1) T_CUSTOMER 数据库表的某些列不会直接映射到客户实体类,而是映射并存储到地址<的字段中/ strong>类是 Customer 类的字段。

2)名为 ZIP 的表格列使用地址类的邮政编码属性进行映射。

是对还是我错过了什么?

Tnx

0 个答案:

没有答案