Hallo,
ich habe ein Projekt, bei dem ich eine ArrayList, die Attribut einer Klasse ist in der DB speichern und daraus wieder auslesen will.
Konkret geht es um Anträge, die als Attribut ihre Antragspositionen in der Arraylist haben.
Vorhin hat es schon einmal problemlos geklappt, komischerweise geht es aber seit mehreren Stunden nicht mehr. Habe jetzt rumprobiert bis zum erbrechen, aber ich komme einfach nicht drauf...
Hier mal eine kleine Testklasse mit der ich die Daten erzeuge, speichere und auslese:
Hier noch ein Ausschnitt meiner Klasse Antrag:
Sieht da jemand woran das liegt?
Nachtrag: Es kommt übrigens der korrekte Auftrag aus der DB zurück.
Nur ist die Arraylist im Attribut des Auftrags leer.
ich habe ein Projekt, bei dem ich eine ArrayList, die Attribut einer Klasse ist in der DB speichern und daraus wieder auslesen will.
Konkret geht es um Anträge, die als Attribut ihre Antragspositionen in der Arraylist haben.
Vorhin hat es schon einmal problemlos geklappt, komischerweise geht es aber seit mehreren Stunden nicht mehr. Habe jetzt rumprobiert bis zum erbrechen, aber ich komme einfach nicht drauf...
Hier mal eine kleine Testklasse mit der ich die Daten erzeuge, speichere und auslese:
Java:
public class testDatenAnlegen {
public static void main (String args[]) {
Antrag antrag1 = new Antrag();
Antragsposition pos1 = new Antragsposition();
Antragsposition pos2 = new Antragsposition();
antrag1.setGewSemester(5);
antrag1.setMatrNr(300580);
antrag1.setNote(1.3);
pos1.setAntragsIDID(2);
pos1.setHsID(1);
pos1.setPrioritaet(1);
pos1.setPosID(1);
pos1.setAuswahlgesprID(0);
pos2.setAntragsIDID(2);
pos2.setHsID(2);
pos2.setPrioritaet(2);
pos2.setPosID(2);
pos2.setAuswahlgesprID(0);
antrag1.addAntragsposition(pos1);
antrag1.addAntragsposition(pos2);
antrag1.antragSpeichern(antrag1);
ArrayList <Antrag> antragsListe = new ArrayList();
Session session = InitSessionFactory.getInstance().getCurrentSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery("from Antrag");
List<Antrag> list = query.list();
java.util.Iterator<Antrag> iter = list.iterator();
while (iter.hasNext()) {
antragsListe.add(iter.next());
}
tx.commit();
Antrag antragAusDB = antragsListe.get(0);
Java:
@Entity
@SequenceGenerator(name = "antrag_seq", sequenceName = "antrag_id_seq")
public class Antrag implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int antragsID;
private int matrNr;
private int gewSemester;
private double note;
private ArrayList <Antragsposition> antragspositionsListe = new ArrayList();
Sieht da jemand woran das liegt?
Nachtrag: Es kommt übrigens der korrekte Auftrag aus der DB zurück.
Nur ist die Arraylist im Attribut des Auftrags leer.
Zuletzt bearbeitet: