2016-03-02 2 views
0

Nous avons récemment mis à jour la version Hibernate de la version 3.1 vers la version 4.3.1 pour notre application. Je fais face à un problème étrange, faux et le même objet est toujours associé à l'objet résultat.Liste de retour des critères Hibernate contenant les mêmes objets

J'ai une classe ClinicalStudyEvent qui contient la collection de classe EventFormContext. Lorsque j'essaie de récupérer ClinicalStudyEvent sur la base de eventId en utilisant HQL, hibernate associe le même objet de EventFormContext à l'objet résultat. Même objet de collection pour chaque eventid.

Classes

ClinicalStudyEvent

public class ClinicalStudyEvent implements 
     Comparable<ClinicalStudyEvent> 
{ 
..... 
private Set<EventFormContext> eventFormContexts = new LinkedHashSet<EventFormContext>(); 
...... 
} 

EventFormContext:

public class EventFormContext extends CSFormContext 
{ 
.... 
private ClinicalStudyEvent clinicalStudyEvent; 
.... 
} 

Hibernate mappages:

ClinicalStudyEvent

 <set 
     name="eventFormContexts" 
     table="EVENT_FORM_CONTEXT" 
     lazy="false" 
     inverse="true" 
     cascade="all" 
     order-by="IDENTIFIER"> 
      <key column="CLINICAL_STUDY_EVENT_ID"/> 
     <one-to-many class="edu.wustl.clinportal.domain.EventFormContext"/> 
    </set> 

CSFormContext

<hibernate-mapping default-lazy="false"> 
    <class 
    name="edu.wustl.clinportal.domain.CSFormContext" 
    table="CS_FORM_CONTEXT" 
    dynamic-update="false" 
    dynamic-insert="false"> 
............ 
<joined-subclass 
     name="edu.wustl.clinportal.domain.EventFormContext" 
     table="EVENT_FORM_CONTEXT" > 
     <key column="IDENTIFIER" /> 
...... 
<many-to-one 
    name="clinicalStudyEvent" 
    class="edu.wustl.clinportal.domain.ClinicalStudyEvent" cascade="none" 
    update="true" insert="true" column="CLINICAL_STUDY_EVENT_ID" /> 

    </joined-subclass> 
</class> 

Pour chaque classe ClinicalStudyEvent nous obtenons le même objet de la classe EventFormContext.

J'ai également vérifié le sql en changeant le paramètre show_sql qui est également correct. J'ai vérifié la base de données et les tables pour les trois classes ont des clés primaires.

Des pointeurs seront utiles.

+0

Pouvez-vous publier le HQL que vous utilisez pour récupérer des données? – Pras

Répondre