Hibernate nicht speichern in Datenbank

Erstellte ich mir einige Klassen einige Tabellen mit hibernate in Java, habe ich Hibernate, SQL zeigen, er öffnet die Sitzung, es zeigt, dass es nicht der SQL, es schließt die Sitzung, es sind aber keine änderungen an der Datenbank.

Person

public class Profesor implements Comparable<Profesor> {
private int id;
private String nume;
private String prenume;
private int departament_id;
private Set<Disciplina> listaDiscipline; //the teacher gives some courses}

public class Disciplina implements Comparable<Disciplina>{ //the course class

private int id;
private String denumire;
private String syllabus;
private String schNotare;
private Set<Lectie> lectii;
private Set<Tema> listaTeme;
private Set<Grup> listaGrupuri; //the course gets teached/assigmened to some groups of students
private Set<Assignment> listAssignments;}

Mapping

<hibernate-mapping default-cascade="all">
<class name="model.Profesor" table="devgar_scoala.profesori">
<id name="id" column="id">
 <generator class="increment"/>
</id>
<set name="listaDiscipline" table="devgar_scoala.`profesori-discipline`">
<key column="Profesori_id" />
<many-to-many class="model.Disciplina" column="Discipline_id"  />
</set>
<property name="nume" column="Nume" type="string" />
<property name="prenume" column="Prenume" type="string" />
<property name="departament_id" column="Departamente_id" type="integer" />
</class>

<class name="model.Grup" table="devgar_scoala.grupe">
<id name="id" unsaved-value="0">
<generator class="increment"/>
</id>
<set name="listaStudenti" table="devgar_scoala.`studenti-grupe`">
<key column="Grupe_id" />
<many-to-many column="Studenti_nrMatricol" class="model.Student" />
</set>

<property name="nume" column="Grupa" type="string"/>
<property name="programStudiu" column="progStudii_id" type="integer" />
</class>
<class name="model.Disciplina" table="devgar_scoala.discipline" >
<id name="id"  >
<generator class="increment"/>
</id> 
<property name="denumire" column="Denumire" type="string"/>
<property name="syllabus" type="string" column="Syllabus"/>
<property name="schNotare" type="string" column="SchemaNotare"/>

<set name="listaGrupuri" table="devgar_scoala.`Discipline-Grupe`">
<key column="Discipline_id" />
<many-to-many column="Grupe_id" class="model.Grup" />
</set>

<set name="lectii" table="devgar_scoala.lectii">
<key column="Discipline_id" not-null="true"/>
<one-to-many class="model.Lectie"  />
</set>
</class>

Nur 'lustige' daran ist, dass der Profesor Objekt geladen wird nicht mit/mit Hibernate, aber mit manueller klassischen SQL Java. Thats, warum ich das Profesor Objekt wie dieses

p - die manuell geladen Profesor Objekt

Profesor p2 = (Profesor) session.merge(p);
session.saveOrUpdate(p2);


//flush session of course

Nach diesem erhalte ich in der Java-Konsole:

Hibernate: insert into devgar_scoala.grupe (Grupa, progStudii_id, id) values (?, ?, ?)

aber wenn ich einen Blick in die Datenbank gibt es keine neuen Zeilen in der Tabelle Grupe (der Gruppen-Tabelle)

sind Sie mit Transaktionen ? wenn so stellen Sie sicher, dass Sie die Transaktion ein commit ausgeführt
sind Sie mit Transaktions-Kontrolle?

InformationsquelleAutor Blitzkr1eg | 2010-04-05

Schreibe einen Kommentar