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.
Pouvez-vous publier le HQL que vous utilisez pour récupérer des données? – Pras