JPA auf abstrakte Klassen anwenden

Erste Frage Aufrufe: 341     Aktiv: 27.09.2023 um 22:38

0

Hi, ich habe folgendes Beispiel:

Beispiel

Die Aufgabe dazu ist: Java Code mit passenden JPA Annotationen zu schreiben.

   @Entity
    public class Urlaubsbuchung{
     @GeneratedValue(Stragety=GenerationType="auto")
     @ID
      private long id;
      .... 
     @ManyToOne
     @JoinColumn
      private Kunde kunde
      ...
      ...
     @OneToMany(Cascade=CascadeType.persist, MappedBy"buchung")
      private Buchungsposition pos;
    }



   @Entity
    public class Kunde{
    @GeneratedValue(Stragety=GenerationType="auto")
    @ID
      private long id;
      .... 
    @OneToMany(Cascade=CascadeType.persist, MappedBy "kunde")
      private set<Urlaubsbuchung> buchung;
      ...
    }



   @Entity
   @Inheritance(strategy=inheritancetype = "single_table")
   @DiscriminatorColumn(name="disc", discriminatortype = discriminatortype.string)
    public abstract Buchungsposition{
     @GeneratedValue(Stragety=GenerationType="auto")
     @ID
      private long id;
       .... 
     @ManyToOne
     @JoinColumn
      private set<Urlaubsbuchung> buchung;
      ...
    }



   @Entity
   @DiscriminatorValue("Hotel")
    public class Hotelbuchung extends Buchungsposition{
      ...
    }



   @Entity
   @DiscriminatorValue("Wagen")
    public class Mietwagenbuchung extends Buchungsposition{
      ...
    }

-> In der Tabelle Urlaubsbuchung sollte jetzt die entsprechende ID der Kunden hinterlegt sein.

-> In der Tabelle Buchungsposition sollte jetzt die entsprechende ID der Urlaubsbuchung hinterlegt sein

Sieht meine Lösung richtig aus oder habt ihr Einwende ?

Diese Frage melden
gefragt

Punkte: 10

 
Kommentar schreiben
0 Antworten