ich will, ob es möglich ist, einen Verein mit einem abstrakten Entity (das heißt: eine Schnittstelle) zu handhaben, in einem anderen Unternehmen. z. B.
Ich habe eine class
namens Foo
, die ein Attribut bar
hat, das vom Typ Bar
ist, der eine interface
ist. Mehrere Klassen (Bar1
, Bar2
) realisieren Bar
und sind alle auch persistable.Umgang mit einer Assoziation mit einer Schnittstelle mit ORM in Java
class Foo{
Bar bar; // this will be either Bar1 or Bar2
}
interface Bar{
// some methods
}
class Bar1 implements Bar{
String s; // Bar1 and Bar2 have different represantations ,hence they must be persisted to different tables
}
class Bar2 implements Bar{
int i;
}
Nun, wie kann ich das mit einem ORM in Java umgehen? Das heißt, wenn ich eine Foo
abrufe, ist es bar
ist eine Instanz von einer der Realisierungen von Bar
.
Hibernate unterstützt die drei grundlegenden Strategien Vererbung Mapping: 1. Tabelle pro Klassenhierarchie 2. Tabelle pro Unterklasse 3. Tabelle pro Betonklasse – amitmah
beziehen: https://docs.jboss.org /hibernate/orm/3.5/reference/en-US/html/inheritance.html Ich denke, Sie können Schnittstellen in der gleichen Weise wie abstrakte Klassen in Hibernate behandeln. – amitmah