我有这张桌子
create table person(
name varchar(250);
age integer;
zipcode integer;
address varchar(250)
);
我可以在我的实体中这样映射吗:
public class Address {
private Integer zipCode;
private String address;
}
public class Person{
private String name;
private Integer age;
private Address address;
}
是否没有创建新的地址表?
tks
答案 0 :(得分:1)
是的,我们可以在实体内部映射实体而无需创建新表。
我们可以创建Person表,并在Person内部创建表Address表的字段列。
1)地址类嵌入在Person类中。
@javax.persistence.Embeddable
public class Address {
private Integer zipCode;
private String address;
}
2)人员分类。
public class Person{
private String name;
private Integer age;
@Embedded // this annotation is optional
private Address address;
}
注意:添加创建表所需的所有JPA批注。
答案 1 :(得分:0)
您可以使用 @DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING,名称=“ TYPE”)
---添加
公共类人员扩展地址{ }