Jpa 播放框架超类
我想用一个抽象的超类创建两个表 我有3个用户->全职用户,兼职用户,他们的数据几乎相同 我创建了模型,但未创建表用户:( 我该怎么办? 提前谢谢 模型全职用户Jpa 播放框架超类,jpa,model,playframework,Jpa,Model,Playframework,我想用一个抽象的超类创建两个表 我有3个用户->全职用户,兼职用户,他们的数据几乎相同 我创建了模型,但未创建表用户:( 我该怎么办? 提前谢谢 模型全职用户 @Entity public class User extends Model{ public String name; public Date start; public Date end; public boolean status; ...... public Projec
@Entity
public class User extends Model{
public String name;
public Date start;
public Date end;
public boolean status;
......
public Project() {
super();
}
}
兼职用户模型
@Entity
public class User extends Model{
public String name;
public Date start;
public Date end;
public boolean status;
......
public Project() {
super();
}
}
@Entity
public class partTimeUser extends User {
public Time startTime ;
public Time endTime;
}
@Entity
public class partTimeUser extends User {
public Time startTime ;
public Time endTime; }
}
-----------------------------------2º答复----------------------------------------
我可以这样做吗?
或者在获取对象时是不同的
模型用户
@MappedSuperclass
public class User extends Model{
public String name;
public Date start;
public Date end;
public boolean status;
......
public Project() {
super();
}
}
兼职用户模型
@Entity
public class User extends Model{
public String name;
public Date start;
public Date end;
public boolean status;
......
public Project() {
super();
}
}
@Entity
public class partTimeUser extends User {
public Time startTime ;
public Time endTime;
}
@Entity
public class partTimeUser extends User {
public Time startTime ;
public Time endTime; }
}
类完全用户
@Entity
public class partTimeUser extends User {
}
在JPA中,您应该添加一些关于继承类型的注释
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "USER")
@Entity
public class User ...
@Table(name = "PART_TIME_USER")
@Entity
public class PartTimeUser extends User ...
另外,@Table注释是不必要的。尽管如此,我还是喜欢定义它。它使代码及其与数据库对象的连接更具可读性。我认为,这也会起作用。您将得到两个表(PartTimeUser和FullTimeUser)这使用了很多相同的列。magomi you way不起作用,它没有实现用户类是的,在你修复之前做过,并且不起作用,它创建了表,但是part_time_用户,没有从user继承任何内容。table part_time_用户,只有on fildsrange。我在至少在我的环境中(JPA/Hibernate)。