Hibernate version: 3.1
Hi,
Ich habe ein kleines Problem mit der Session.
Und zwar:
Code:
@Entry
public class Table1 implements Serializable{
@Id...
private Long id;
@Colum(length = 100)
private String title;
@ManyToOne
private Table2 table2;
...
...
}
@Entry
public class Table2 implements Serializable{
@Id...
private Long id;
@Colum(length = 100)
private String title;
@OneToMany(mappedBy = "table2")
private List table1s = new ArrayList();
...
...
}
Das sind meine beiden Tabellen.
Nun mache ich folgendes:
Code:
HibernateUtil.beginTransaction();
//Table2 aus DB
Table2 table2 = hibernateUtil.getSession().get(Table2.cass, id);
for(Table1 table1 : table2.getTable1s()){
table1.setTitle("bla");
HibernateUtil.getSession().saveOrUpdate(table1);
HibernateUtil.getSession().flush();// hat keine Wirkung
}
//jetzt ist in der DB die werte geändert
//neu laden der Tabelle
Table2 table2 = hibernateUtil.getSession().get(Table2.cass, id);
for(Table1 table1 : table2.getTable1s()){
System.out.println(table1.getTitle());
//hier schreibt er nicht den neuen wert "bla" sondern den alten wert aus
}
HibernateUtil.endTransaction();
//erst wenn ich die Session schliesse und neu öffne holt Hibernate die neuen werte richtig.
Wie kann ich Hibernate dazu bringen die neuen Werte in der obigen Session zu laden?
MfG
Code:
Code:
Code: