Hallo,
ich benutze Hibernate mit Java um von Bücher mehrere Exemplare zu speichern.
Dafür habe ich eine Entity Book und eine Entity Exemplar. Im Buch gibt es die allgemeinen Informationen darüber und in Exemplar wird jeweils ein Buch referenziert (außerdem wird ein Inhaber gespeichert, was aber hier unwichtig ist).
Da ich später das System erweitern will, so dass z.B. auch DVDs gespeichert werden können, hab ich ein Interface Resource gemacht. Buch ist davon abgeleitet.
Im Exemplar will ich nun die Resource referenzieren, damit diese Entity für alles hergenommen werden kann.
So sieht es nun in Exemplar aus:
Code:
@Entity
public class Exemplar implements Serializable {
...
@ManyToOne
protected Resource resource;
...
Resources sieht so aus:
Code:
@Entity
public interface Resource {
public String getName();
}
und Buch:
Code:
@Entity
public class Book implements Serializable, Resource {
...
}
Beim Anlegen der Datenbank bekomme ich nun folgende Fehlermeldung
org.hibernate.AnnotationException: @OneToOne or @ManyToOne on *.Exemplar.resource references an unknown entity: *.Resource
Ich hab nun im Internet kurz rum gesucht und hatte das Gefühl, dass man Interface nicht so in Entitys einbinden kann.
Geht das wirklich nicht?
Wie kann ich dann mein Vorhaben, nur eine Entity für verschiedene Resourcen zu schreiben, sosnt umsetzen?
Danke
PS: Hoffe ihr versteht mein Problem. Wenn nicht einfach fragen