Händische Programmierung eines 1:n-ORM

AndiE

Top Contributor
Es seien zwei Tabellen „Angestellter(Personalnummer,Name,Abteilungsnummer)“ und „Abteilung(Abteilungsnummer, Bezeichnung)“. Es besteht eine 1:n-Beziehung und der Eintrag „Abteilungsnummer“ verbindet die beiden Tabellen.

Objektorientiert wäre das in Pseudocode:

Java:
class Angestellter {

private int Personalnummer;

private String Name;

private int Abteilungsnummer“

//Kontruktor

//Gebe und Hole-Methoden

}

Und

Java:
class Abteilung {

private int Abteilungsnummer;

private string Abteilungsname;

private List<Angestellter> Mitarbeiterliste;

//Konstruktor

//gebe und Hole-Methoden
}

Um diese Tabellen in die Klassen zu überführen würde ich :

1. Einlesen der Tabelle Angestellte in eine Liste AngestelltenListe

2. Einlesen der Tabelle Abteilung in eine Liste Abteilungsliste

3. Herstellung der Verknüpfung

Das Einlesen der Tabellen aus dem Resultset ist ja einfach:

Code:
(Pseudeocode)
…
List Angestelltenliste =new List();
…

while(Datensatz im Resultset) {
   Angestellter A = new Angestellter();
   //Fülle Objekt A mit eingelesenen Eigenschaften.
   Angestelltenliste.add(A);
}

Danach habe ich also zwei Listenobjekte von Objekten , wobei Abteilungen ja weniger Objekte als Angestellte hat. Daraus würde ich als Pseudecode schreiben:

Code:
Angestellter ang;
while(Abteilung abt = Abteilungsliste.getNext()) {
   while(ang=Angestellter.getNext()) {
     if(ang.Abteilungsnummer == abt.Abteilungsnummer) {
       abt.Mitarbeiterliste.add(ang);
     }
     Ang = Angestelltenliste.getTop(); //Zurücksetzen auf Listenanfang
   }
}


Mir stellt sich nun die Frage, wie man das mit JPQL vereinfachen kann.
 
Zuletzt bearbeitet von einem Moderator:

AndiE

Top Contributor
dann wird es logisch: "select ab from Abteilung ab inner join ab.Mitarbeiterliste an". Habe ich das so richtig verstanden?
 

mrBrown

Super-Moderator
Mitarbeiter
Da dürfte schon "select ab from Abteilung ab" reichen, die Unterobjekte werden dann passend gefüllt.
Über die Annotations ist ja angegeben, wie welche Listen gefüllt werden müssen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Programmierung eines MazeGames Softwareentwicklung 1
N Objektorientierte Programmierung in PHP Softwareentwicklung 11
S Programmierung simulieren - aber wie möglich?! Softwareentwicklung 8
T Assembler programmierung Softwareentwicklung 5
MrWhite Zukunft der Programmierung Softwareentwicklung 10
M Ereignisgesteuerte Programmierung Softwareentwicklung 2
P Programmierung: prozedural -> objektorientiert Softwareentwicklung 3
G Programmierung von lokalen GUIs Softwareentwicklung 2
B Programmierung eines 8051-Assemblers unter Java Softwareentwicklung 3
bummerland Nachteile objektorientierter Programmierung? Softwareentwicklung 15
X Programmieren eines Spieles Softwareentwicklung 25
G Anzahl der Rekursionsaufrufe eines DFS Algorithmus Softwareentwicklung 16
F Planung und Durchführung eines Projektes Softwareentwicklung 2
? Fragen zur richtigen Umsetzung eines Projektes Softwareentwicklung 3
M Ada95 - Breite eines Baumes bestimmen Softwareentwicklung 3
B Konstruktion eines Epsilon Automaten & NFA Softwareentwicklung 2
B Signatur eines Abstrakten Datentyps Softwareentwicklung 10
S Länge eines char[][] Softwareentwicklung 12
F Aufwändes eines Software Projektes Softwareentwicklung 21
M Technische Abwicklung eines Onlinekaufs Softwareentwicklung 7
-horn- "Laufzeitberechnung" eines Programmes? Softwareentwicklung 5
U Komplexität eines Algorithmus Softwareentwicklung 1
Z Herangehensweise zum "entschlüsseln" eines Dateifo Softwareentwicklung 2
G Modellierung eines graphentheoretischen Problems Softwareentwicklung 5
V alle abgeleiten Klassen eines Interfaces finden? Softwareentwicklung 2
I Object mit Hilfe eines Class-Objectes instanzieren Softwareentwicklung 3
M Elemente eines Vektors zufällig anordnen Softwareentwicklung 2
M Software zur Erstellung eines Pflichtenhefts? Softwareentwicklung 15
F Zellen eines Excel-Sheets per VBA disablen (ausgrauen)? Softwareentwicklung 10
H Synchronisation eines Bitstreams Softwareentwicklung 4
F Ist der Name eines Ojekts eine Eigenschaft Softwareentwicklung 7

Ähnliche Java Themen


Oben