Hallo
Jedes Mal wenn ich einen neuen Datensatz in meine Datenbank einfügen möchte, wird der alte Datensatz überschrieben.
Meiner Meinung liegt es daran, dass immer die gleiche Session genommen wird oder die ID nicht weitergezählt wird. Weiß jemand Rat?
Hier meine main-Class die ich ausführe:
public class MainClass {
private static final SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
public static void main (String args[]) {
MainClass m = new MainClass();
m.speichern;
}
public void speichern() {
Vorlesung vorlesung = new Vorlesung();
vorlesung.setName("Deutsch");
Student student = new Student();
student.setVorname("Hans");
student.setName("Peter");
student.setVorlesung(vorlesung);
Session session = sessionFactory.openSession();
Transaction trans = session.beginTransaction();
session.save(vorlesung);
session.save(student);
trans.commit();
session.close
}
}
Klasse Student:
@Entity
@SequenceGenerator(name="sequenz", sequenceName="S_SEQ", initialValue=1, allocationSize=1)
@Table(name="Student")
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE. generator="sequenz")
int matrikelnr;
@ManyToOne(mappedBy="vorlesung")
@JoinColumn(name="Vorlesungsnr")
Vorlesung vorlesung;
@Column(name="NAME")
String name;
//Getter und Setter
Klasse Vorlesung:
@Entity
@SequenceGenerator(name="sequenz", sequenceName="V_SEQ", initialValue=1, allocationSize=1)
@Table(name="Vorlesung")
public class Vorlesung {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE. generator="sequenz")
int Vorlesungsnr;
@OneToOne(mappedBy="vorlesung")
Student st;
@Column(name="NAME")
String name;
//Getter und Setter
}[/b]
|