问题描述
|
我创建了一个名为User的新Entity Bean。
我想扩展它,制作一些名为User1的新Entity Bean(以及User2,User3等等,它们代表用户类型/组)。
User1具有与User(ID,类型,用户名,密码,名称,姓氏)相同的属性,以及其他一些属性(如普通User所没有的电子邮件,phoneNumber)。
我希望将User1上所有新添加的属性存储在类似逻辑的项目中的不同表中:
USER(ID,用户名,密码,类型,名称,姓氏);
USER1(用户ID,电子邮件,电话号码);
这意味着USER1将成为id和userId上USER和USER1之间的联接表。
有什么意义吗?
这是我的用户实体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
...
}
解决方法
我找到了解决方法,使用的是注释“ 1”
对于混合策略:
http://forums.oracle.com/forums/thread.jspa?threadID=1030022