0

有点愚蠢的问题,但我在任何地方都找不到答案。@Embeddable 对象如何存储在数据库中,是带 FK 的 OneToOne 还是...例如,如果我有:

@Entity
public class User {
   private Long id;

   @Id 
   public Long getId() { return id; }
   public void setId(Long id) { this.id = id; }


   private Address address;

   @Embedded 
   public Address getAddress() { return address; }
   public void setAddress() { this.address = address; }
}


@Embeddable
public class Address {
   private String street1;

   public String getStreet1() { return street1; }
   public void setStreet1() { this.street1 = street1; }
}

表格应该是什么样子?

4

2 回答 2

2

嵌入对象的字段作为列添加到拥有实体的表中。

因此,您将拥有一个User包含字段idstreet1.

于 2011-02-22T09:50:05.290 回答
1

这很简单:嵌入对象的所有列都将合并到父对象的列中,从而形成一个表。在您的示例中,您最终将得到一个User包含列的表:idstreet1。所以嵌入对象基本上是一种在一个表中对列进行逻辑分组的方法。

于 2011-02-22T09:50:46.533 回答