tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
960
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    langmar langmar ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    Hallo,

    Umgebung
    spring 2.5;
    hibernate core 3.3.2
    tomcat 6.0.20

    Ich hole per criteria-Api daten aus der DB:

    Code :
    1
    2
    3
    4
    
    Criteria criteria = getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria(Role.class);
            criteria.add(Restrictions.eq("isRpa", "1"));
            criteria.add(Restrictions.ge("roleState", minRole));
    return criteria.list();

    Erhalte 3 Objekte/"DB-Zeilen", davon sind zwei als Role-Objekt in der Liste, das dritte wohl als Proxy...

    Code :
    1
    2
    3
    
    [0] Role  (id=5973) 
    [1] Role  (id=5974) 
    [2] Role_$$_javassist_2  (id=5953)

    Code :
    1
    2
    3
    4
    5
    
    role    Role_$$_javassist_2  (id=5953)  
        activeFrom  null    
        activeTo    null    
        description null    
        handler JavassistLazyInitializer  (id=5976)

    Komme grad alleine nicht mehr weiter - wie schaffe ich es, dass das dritte Objekt kein Proxy ist? In der Criteria? beim iterierieren brint Hibernate.initialize() leider nichts...


    Viele Dsnk schonmal für alle Anworten.

    Viele Grüße aus der Schweiz!
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    versuchs mal mit nem anderen Fetchmode:
    Code java:
    1
    
    session.createCriteria(Role.class).add(Restrictions.eq("isRpa", "1")).add(Restrictions.ge("roleState",minRole)).setFetchMode("role", FetchMode.JOIN /* EAGER */).list();

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    langmar langmar ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    Hi Tom,

    vielen Dank für deine Antwort. Leider hatte ich das schon erfolglos versucht. Habst rotzdem nochmal getestet, leider immer noch ohne Erfolg

    Dantenbank technisch sind alle 3 Zeilen gleich (ausser PK und name)...



    viele grüsse martin
     

  4. #4
    langmar langmar ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    ... ist übrigens unabhängig von der Criteria, also auch mit ner HQL Abfrage bekomme ich das Resultat...
     

  5. #5
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    das mit dem Fecthmode war nur ein versuch...
    kannte dein Modell nicht. Hätte sein können, dass deine Roles noch andere Objekte nachziehen würden und deshalb bei entsprechenden Verweisen für späteres lazy loading geproxied werden.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  6. #6
    langmar langmar ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    Hi Tom,

    sorry, meine Antwort sollte nicht unfreundlich rüberkommen...

    habe im Projekt auch den eh-cache im einsatz, habe ich aber auch schon deaktiviert leider ohne Erfolg.
    Auf ein getRoleById(PK) liefert mir den Proxy

    gibt es keine möglichkeit, aus so nem Role-Proxy-Objekt wieder explizit n Role-Objekt zu machen?
     

  7. #7
    langmar langmar ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    12
    Hi,

    ok, ich kann es übers Modell lösen...

    User
    |
    UserRole
    |
    Role

    userRole.getRole -> @ManyToOne(fetch = FetchMode.EAGER)

    Danke Tom, hast mich auf die richtigen Weg gebracht...
     

Ähnliche Themen

  1. Criteria: zwei criteria Objekte "oder-verknüpfen"?
    Von RoCMe im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 25.05.10, 17:31
  2. Hibernate Criteria-Abfrage über mehrere Objekte
    Von pizza1234 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 18.03.10, 10:02
  3. Fehler bei Hibernate Abfrage mit Criteria
    Von toroe im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 07.07.09, 10:29
  4. Problem Oder-Verknüpfung Hibernate-Criteria
    Von pizza1234 im Forum Java
    Antworten: 2
    Letzter Beitrag: 08.04.09, 10:34
  5. Spring und Hibernate (Criteria & Query by Example) problem
    Von catarina im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 07.04.09, 14:42