Hibernate Annotation-Vererbung-Abstrakte Basis-Klasse
In meine Anwendung bin ich versucht zu implementieren Hibernate-mappings durch annotation. Dort habe ich eine base-Klasse, die abstrakte, in dieser Klasse das Id-Attribut vorhanden ist. Ich bin Erben von dieser Basis-Klasse mit einer Kind-Klasse. Der code ist unten angegeben:
@MappedSuperclass
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Base implements IBase {
private static final long serialVersionUID = -1433573674276444516L;
private int id;
public Base() {
}
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
- Und der Kind-Klasse:
@Entity
@Table(name="USER")
public class User extends Base implements IUser {
private static final long serialVersionUID = 344528694909088439L;
private String name;
public User() {
}
@Column(name="NAME", nullable=false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Ist es, die Erstellung der USER-Tabelle und fein arbeiten.
Ich Frage mich, ob oder nicht, ich mache es in der rechten Weise.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das Ziel ist, dass mehrere unabhängige Personen zu Erben ein gemeinsames Feld von einer Basis-Klasse, dann Nein, du bist nicht tun es richtig. Die annotation @Inheritance ist unnötig. @Vererbung ist notwendig, wenn Sie eine Person (KFZ -, zum Beispiel), und mehreren sub-Entitäten (Auto, Fahrrad, beispielsweise).