und*_*dog 3 java hibernate jpa hibernate-mapping java-ee
我正在开发一个Spring Hibernate项目,我有三个类
BaseEntity,Person&Owner.
Person延伸BaseEntity,Owner延伸Person.
public class BaseEntity {
private Integer id;
Getters & Setters
Run Code Online (Sandbox Code Playgroud)
public class Person extends BaseEntity {
private String firstName;
private String lastName;
Getters & Setters
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table(name="OWNERS")
public class Owner extends Person {
@Column(name="ADDRESS")
private String address;
@Column(name="CITY")
private String city;
@Column(name="TELEPHONE")
private String telephone;
Getter and Setters
Run Code Online (Sandbox Code Playgroud)
现在我想在一个表中映射三个类的所有属性Owner.任何人都可以帮我,我该如何映射?
我有一个基于xml的映射,我希望在注释中执行此操作
<class name="org.springframework.samples.petclinic.Owner" table="owners">
<id name="id" column="id">
<generator class="identity"/>
</id>
<property name="firstName" column="first_name"/>
<property name="lastName" column="last_name"/>
<property name="address" column="address"/>
<property name="city" column="city"/>
<property name="telephone" column="telephone"/>
</class>
Run Code Online (Sandbox Code Playgroud)
我想过使用每个类的继承映射表,但是在xml中我看到没有使用的是鉴别器列.
Mar*_*szS 11
使用@MappedSuperclass注释.
JPA(...)定义了通过@MappedSuperclass注释或元素定义的映射超类概念.映射的超类不是持久类,但允许为其子类定义公共映射.
更多:Java持久性/继承
@MappedSuperclass
public class BaseEntity {
...
}
@MappedSuperclass
public class Person extends BaseEntity {
...
}
@Entity
@Table(name="OWNERS")
public class Owner extends Person {
...
}
Run Code Online (Sandbox Code Playgroud)
另请看这个问题:Hibernate:如何覆盖映射超类中的属性
| 归档时间: |
|
| 查看次数: |
8456 次 |
| 最近记录: |