Hallo,
ich beobachte hier ein sehr komisches Verhalten von hibernate.
List<Hardwareversion> list1 = (List<Hardwareversion>) session.createQuery("from Hardwareversion hwv").list();
List<Hardwareversion> list2 = (List<Hardwareversion>) session.createCriteria(Hardwareversion.class).list ();
werden in der selben Session und in der selben Transaktion durchgeführt.
list1 enthält zwei verschiedene Instanzen mit unterschiedlichen Attributwerten entspricht dem Datenbankinhalt (2 Zeilen)... also ok.
list2 hingegen enthält drei Einträge (siehe Bild) die Objektinstanzen sind die selben wie bei list1 allerdings ist eine Objektinstanz doppelt in list2 vorhanden.
Wie ist das möglich?
Ist das korrekt das ich bei einer Abfrage zwei identische Objektinstanzen als antwort zurück bekomme?
Wie muss ich mein createCriteria() ändern damit ich die selbe Ergebnismenge bekomme wie bei hql-Statement?
Hat jemand eine Idee, oder was ähnliches erlebt?
Danke
ich beobachte hier ein sehr komisches Verhalten von hibernate.
List<Hardwareversion> list1 = (List<Hardwareversion>) session.createQuery("from Hardwareversion hwv").list();
List<Hardwareversion> list2 = (List<Hardwareversion>) session.createCriteria(Hardwareversion.class).list ();
werden in der selben Session und in der selben Transaktion durchgeführt.
list1 enthält zwei verschiedene Instanzen mit unterschiedlichen Attributwerten entspricht dem Datenbankinhalt (2 Zeilen)... also ok.
list2 hingegen enthält drei Einträge (siehe Bild) die Objektinstanzen sind die selben wie bei list1 allerdings ist eine Objektinstanz doppelt in list2 vorhanden.
Wie ist das möglich?
Ist das korrekt das ich bei einer Abfrage zwei identische Objektinstanzen als antwort zurück bekomme?
Wie muss ich mein createCriteria() ändern damit ich die selbe Ergebnismenge bekomme wie bei hql-Statement?
Hat jemand eine Idee, oder was ähnliches erlebt?
Danke
Comment