| Pruefung | 1 -------------------- 1 .. * | Aufsicht |
I tried to write the Pruefung-Objects and Aufsicht-Objects into database, but it doesn't work. Here ist the stack trace:
The classes Pruefung and Aufsicht are as follow (the schort version, without methods):
public class HibernateTest
{
private static final int SIZE = 10;
private static Adresse[] adrArr;
private static Student[] stdArr;
private static Dozent[] dozArr;
private static Fach[] fachArr;
private static Pruefung[] prfArr;
private static Anmeldung[] anmArr;
private static Aufsicht[] aufArr;
private static Klassenraum[] klsArr;
static
{
adrArr = new Adresse[SIZE];
stdArr = new Student[SIZE];
dozArr = new Dozent[SIZE];
fachArr = new Fach[SIZE];
prfArr = new Pruefung[SIZE];
anmArr = new Anmeldung[SIZE];
aufArr = new Aufsicht[SIZE];
klsArr = new Klassenraum[SIZE];
}
private static Session session;
public static void main(String[] args)
{
try
{
session = HibernateUtil.currentSession();
Transaction transaktion = session.beginTransaction();
initAdressen();
initFaecher();
initStudierende();
initDozierende();
initKlassenraeume();
initAnmeldungen();
initAufsichten();
initPruefungen();
transaktion.commit();
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initAdressen()
{
adrArr[0] = new Adresse("Pilatusstrasse", 12, 6002, "Luzern",
"041 320 00 44", "
[email protected]");
adrArr[1] = new Adresse("Bundesstrasse", 22, 6002, "Luzern",
"041 320 33 44", "
[email protected]");
adrArr[2] = new Adresse("Allmendstrasse", 47, 6048, "Horw",
"041 340 63 11", "
[email protected]");
adrArr[3] = new Adresse("Waldheimstrasse", 18, 6010, "Kriens",
"041 320 06 88", "
[email protected]");
adrArr[4] = new Adresse("Waldheimstrasse", 18, 6010, "Kriens",
"041 320 06 88", "
[email protected]");
adrArr[5] = new Adresse("Amlehnstrasse", 50, 6010, "Kriens",
"041 320 12 33", "
[email protected]");
try
{
// speichern
session.save(adrArr[0]);
session.save(adrArr[1]);
session.save(adrArr[2]);
session.save(adrArr[3]);
session.save(adrArr[4]);
session.save(adrArr[5]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initFaecher()
{
try
{
fachArr[0] = new Fach("Informationssystementwicklung");
fachArr[1] = new Fach("Kommunikation und Netzwerke");
fachArr[2] = new Fach("Grundlagen der Informatik");
fachArr[3] = new Fach("Vollkswirtschaft");
fachArr[4] = new Fach("Betriebswiertschaftlehre");
fachArr[5] = new Fach("Mathematik");
// speichern
session.save(fachArr[0]);
session.save(fachArr[1]);
session.save(fachArr[2]);
session.save(fachArr[3]);
session.save(fachArr[4]);
session.save(fachArr[4]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initStudierende()
{
try
{
stdArr[0] = new Student(adrArr[0], "Aregger", "Andre", 200101,
"FHW", 4);
stdArr[1] = new Student(adrArr[1], "Bucheli", "Nicole", 200117,
"FHW", 4);
stdArr[2] = new Student(adrArr[1], "Sigrist", "Beat", 200113,
"FHW", 4);
stdArr[3] = new Student(adrArr[1], "Harmann", "Pascal", 200111,
"FHW", 4);
stdArr[4] = new Student(adrArr[2], "Mattli", "Roger", 200110,
"FHW", 4);
// speichern
session.save(stdArr[0]);
session.save(stdArr[1]);
session.save(stdArr[2]);
session.save(stdArr[3]);
session.save(stdArr[4]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initDozierende()
{
try
{
dozArr[0] = new Dozent(adrArr[3], "Bucher", "Roland");
dozArr[1] = new Dozent(adrArr[4], "Mueller", "Daniel");
dozArr[2] = new Dozent(adrArr[5], "Zopp", "Michael");
dozArr[3] = new Dozent(adrArr[6], "Fischer", "Marcel");
// speichern
session.save(dozArr[0]);
session.save(dozArr[1]);
session.save(dozArr[2]);
session.save(dozArr[3]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initKlassenraeume()
{
try
{
klsArr[0] = new Klassenraum("4.02", 20);
klsArr[1] = new Klassenraum("3.18", 24);
klsArr[2] = new Klassenraum("3.12", 15);
klsArr[3] = new Klassenraum("2.22", 25);
klsArr[4] = new Klassenraum("1.02", 22);
// speichern
session.save(klsArr[0]);
session.save(klsArr[1]);
session.save(klsArr[2]);
session.save(klsArr[3]);
session.save(klsArr[4]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initAnmeldungen()
{
try
{
anmArr[0] = new Anmeldung(new GregorianCalendar(2004, 4, 1), stdArr[0]);
anmArr[1] = new Anmeldung(new GregorianCalendar(2004, 4, 3), stdArr[0]);
anmArr[2] = new Anmeldung(new GregorianCalendar(2004, 4, 7), stdArr[1]);
anmArr[3] = new Anmeldung(new GregorianCalendar(2004, 5, 2), stdArr[1]);
anmArr[4] = new Anmeldung(new GregorianCalendar(2004, 5, 4), stdArr[1]);
anmArr[5] = new Anmeldung(new GregorianCalendar(2004, 5, 9), stdArr[2]);
anmArr[6] = new Anmeldung(new GregorianCalendar(2004, 5, 11), stdArr[3]);
anmArr[7] = new Anmeldung(new GregorianCalendar(2004, 6, 19), stdArr[4]);
anmArr[8] = new Anmeldung(new GregorianCalendar(2004, 6, 22), stdArr[4]);
anmArr[9] = new Anmeldung(new GregorianCalendar(2004, 6, 30), stdArr[4]);
// speichern
session.save(anmArr[0]);
session.save(anmArr[1]);
session.save(anmArr[2]);
session.save(anmArr[3]);
session.save(anmArr[4]);
session.save(anmArr[5]);
session.save(anmArr[6]);
session.save(anmArr[7]);
session.save(anmArr[8]);
session.save(anmArr[9]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initAufsichten()
{
try
{
aufArr[0] = new Aufsicht();
aufArr[0].addAufsichtPerson(dozArr[0]);
aufArr[0].addAufsichtPerson(dozArr[1]);
aufArr[1] = new Aufsicht();
aufArr[1].addAufsichtPerson(dozArr[1]);
aufArr[1].addAufsichtPerson(dozArr[2]);
aufArr[2] = new Aufsicht();
aufArr[2].addAufsichtPerson(dozArr[0]);
aufArr[2].addAufsichtPerson(dozArr[3]);
aufArr[3] = new Aufsicht();
aufArr[3].addAufsichtPerson(dozArr[3]);
aufArr[3].addAufsichtPerson(dozArr[1]);
// speichern
session.save(aufArr[0]);
session.save(aufArr[1]);
session.save(aufArr[2]);
session.save(aufArr[3]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
private static void initPruefungen()
{
try
{
prfArr[0] = new Pruefung();
// Anmeldungen
prfArr[0].addAnmeldung(anmArr[0]);
prfArr[0].addAnmeldung(anmArr[1]);
prfArr[0].addAnmeldung(anmArr[2]);
// Aufsicht
prfArr[0].addAufsicht(aufArr[0]);
// Fach (nur ein)
prfArr[0].addFach(fachArr[0]);
// Klassenraum (nur ein)
prfArr[0].addKlassenraum(klsArr[0]);
// Datum
prfArr[0].setDatum(new GregorianCalendar(2004, 7, 23));
// Beschreibung
prfArr[0].setBeschreibung("Alle Unterlagen erlaubt");
// Aufsicht-Objekt bervollstaendigen
aufArr[0].setPruefung(prfArr[0]);
// speichern
session.save(prfArr[0]);
}
catch (HibernateException e)
{
System.err.println(e);
}
}
}
I don't see, if something is wrong with the database or in my code. Doe's anybody see, what is wrong in my example?