2015-11-13 2 views
0

У меня есть вопрос о спящем режиме. У меня есть класс 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; 

Теперь мне нужно создать класс 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; 

Как я могу реализовать такие расширения с спячки? Оба класса ссылаются на одну и ту же таблицу «пользователь».

ответ

0

Этот код будет делать то, что вы хотите достичь

@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; 
    } 
Смежные вопросы