[英]Different representation of same table in hibernate
I have question about hibernate. 我有关于休眠的问题。 I have class User which contain base information about user.
我有User类,其中包含有关用户的基本信息。
public class User {
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
@Column(name = "surname")
private String surname;
@Column(name = "photo_url")
private String photoURL;
Now i need to create class UserFull with extended information about user 现在,我需要使用有关用户的扩展信息创建UserFull类
public class UserFull extends User {
@Column(name = "email")
private String email;
@Column(name = "date_birthday")
private Date dateBirthday;
@Column(name = "date_registration")
private Date dateRegistration;
How can i implement such extending with hibernate? 我该如何使用休眠实现这种扩展? Both classes reference on same table "user".
这两个类在同一表“用户”上引用。
This code will do what you want to achieve 该代码将完成您想要实现的目标
@Entity
@Table(name="User")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE) //Least normalisation strategy
public class User
{
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
@Column(name = "surname")
private String surname;
@Column(name = "photo_url")
private String photoURL;
}
@Entity
@Table(name="UserFull")
public class UserFull extends User {
@Column(name = "email")
private String email;
@Column(name = "date_birthday")
private Date dateBirthday;
@Column(name = "date_registration")
private Date dateRegistration;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.