J2EE, Entity Bean — User1 расширяет пользователя

Я создал новый Entity Bean с именем User.
Я хотел бы расширить его, создав несколько новых Entity Bean с именами User1 (а также User2, User3 и т. д., которые представляют тип/группу пользователей).

Пользователь User1 имеет те же атрибуты, что и Пользователь (идентификатор, тип, имя пользователя, пароль, имя, фамилия) и некоторые другие (например, адрес электронной почты, номер телефона, которых нет у обычного пользователя).

Я хотел бы, чтобы все новые добавленные атрибуты для User1 хранились в другой таблице в логическом проекте: USER(id, username, password, type, name, surname); ПОЛЬЗОВАТЕЛЬ1 (идентификатор пользователя, электронная почта, номер телефона);

Это означает, что USER1 будет объединенной таблицей между USER и USER1 по id=userId. Есть ли в этом смысл?

Это мой код User Entity Bean.

package com.entity;

import java.io.Serializable;
import javax.persistence.*;

@Entity
@DiscriminatorColumn(name="type")
public class User implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;
    private String username;
    private String password; 
    private String type;
    private String name;
    private String surname;



    public User(String username, String password, String name, String surname) {
        super();
        this.setUsername(username);
        this.setPassword(password);
        this.setName(name);
        this.setSurname(surname);
    }

    public User() {
        super();
    }  

    ...
    getter&setter methods here
    ...

}

person Mauro    schedule 24.05.2011    source источник


Ответы (1)


Я нашел решение, используя аннотацию @Inheritance(strategy=InheritanceType.JONED)

Для смешанной стратегии: http://forums.oracle.com/forums/thread.jspa?threadID=1030022

person Mauro    schedule 25.05.2011