-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: QUERY HIBERNATE qui boucle indefiniment
PostPosted: Thu Jan 08, 2009 1:56 am 
Beginner
Beginner

Joined: Tue Feb 12, 2008 3:53 pm
Posts: 38
Bonjour,
j'utilise HIBERNATE avec ORACLE dans mon application. J'ai une vue dont le nom est VW_LABORATORY_TESTS. La partie de code SQL pour laquelle j'ai un probleme est la suivante :
Code:
select '#' ||
(case when (select max(idat1.VALUE) from itemdata idat1, itemsequences iseq1, items i1
where idat1.ITEM_GROUP_DATA_ID=igdat.ITEM_GROUP_DATA_ID
and i1.ITEM_ID=iseq1.ITEM_ID
and iseq1.ITEM_SEQUENCE_ID=idat1.ITEM_SEQUENCE_ID
and ((i1.SDS_VAR_NAME like '%' || ';LBDTC;' || '%') or (i1.SDS_VAR_NAME like 'LBDTC;' || '%') or (i1.SDS_VAR_NAME like '%' || ';LBDTC') or (i1.SDS_VAR_NAME = 'LBDTC'))
and i1.ITEMDATA_TYPE_ID=5)
is NULL then (case when ((select max(idat1.VALUE) from itemdata idat1, itemsequences iseq1, items i1
                       where idat1.ITEM_GROUP_DATA_ID=igdat.ITEM_GROUP_DATA_ID
                       and i1.ITEM_ID=iseq1.ITEM_ID
                       and iseq1.ITEM_SEQUENCE_ID=idat1.ITEM_SEQUENCE_ID
                       and ((i1.SDS_VAR_NAME like '%' || ';LBDTC;' || '%') or (i1.SDS_VAR_NAME like 'LBDTC;' || '%') or (i1.SDS_VAR_NAME like '%' || ';LBDTC') or (i1.SDS_VAR_NAME = 'LBDTC'))
                       and i1.ITEMDATA_TYPE_ID=4)           ||       
                                                               (select max (idat1.VALUE) from itemdata idat1, itemsequences iseq1, items i1
                                                                where idat1.ITEM_GROUP_DATA_ID=igdat.ITEM_GROUP_DATA_ID
                                                                and i1.ITEM_ID=iseq1.ITEM_ID
                                                                and iseq1.ITEM_SEQUENCE_ID=idat1.ITEM_SEQUENCE_ID
                                                                and ((i1.SDS_VAR_NAME like '%' || ';LBDTC;' || '%') or (i1.SDS_VAR_NAME like 'LBDTC;' || '%') or (i1.SDS_VAR_NAME like '%' || ';LBDTC') or (i1.SDS_VAR_NAME = 'LBDTC'))
                                                                and i1.ITEMDATA_TYPE_ID=3))
                    is NULL then (case when CAST('null' AS VARCHAR(255))
                                  = 'null' then CAST('     ' AS VARCHAR(255))
                                  else CAST('null' AS VARCHAR(255)) end)
                    else CAST(((select max(idat1.VALUE) from itemdata idat1, itemsequences iseq1, items i1
                           where idat1.ITEM_GROUP_DATA_ID=igdat.ITEM_GROUP_DATA_ID
                           and i1.ITEM_ID=iseq1.ITEM_ID
                           and iseq1.ITEM_SEQUENCE_ID=idat1.ITEM_SEQUENCE_ID
                           and ((i1.SDS_VAR_NAME like '%' || ';LBDTC;' || '%') or (i1.SDS_VAR_NAME like 'LBDTC;' || '%') or (i1.SDS_VAR_NAME like '%' || ';LBDTC') or (i1.SDS_VAR_NAME = 'LBDTC'))
                           and i1.ITEMDATA_TYPE_ID=4) ||
                                                               (select max (idat1.VALUE) from itemdata idat1, itemsequences iseq1, items i1
                                                                where idat1.ITEM_GROUP_DATA_ID=igdat.ITEM_GROUP_DATA_ID
                                                                and i1.ITEM_ID=iseq1.ITEM_ID
                                                                and iseq1.ITEM_SEQUENCE_ID=idat1.ITEM_SEQUENCE_ID
                                                                and ((i1.SDS_VAR_NAME like '%' || ';LBDTC;' || '%') or (i1.SDS_VAR_NAME like 'LBDTC;' || '%') or (i1.SDS_VAR_NAME like '%' || ';LBDTC') or (i1.SDS_VAR_NAME = 'LBDTC'))
                                                                and i1.ITEMDATA_TYPE_ID=3))AS VARCHAR(255)) end)
else (select max(idat1.VALUE) from itemdata idat1, itemsequences iseq1, items i1
where idat1.ITEM_GROUP_DATA_ID=igdat.ITEM_GROUP_DATA_ID
and i1.ITEM_ID=iseq1.ITEM_ID
and iseq1.ITEM_SEQUENCE_ID=idat1.ITEM_SEQUENCE_ID
and ((i1.SDS_VAR_NAME like '%' || ';LBDTC;' || '%') or (i1.SDS_VAR_NAME like 'LBDTC;' || '%') or (i1.SDS_VAR_NAME like '%' || ';LBDTC') or (i1.SDS_VAR_NAME = 'LBDTC'))
and i1.ITEMDATA_TYPE_ID=5) end) || '#'
LBDTC

from
itemgroupdata igdat,
formdata fdat,
eventdata edat,
subjects sbj,
projects s,
sites si,
addresses ad,
countries c,
(select idat2.ITEM_GROUP_DATA_ID from items i2,itemsequences iseq2, itemdata idat2 where
i2.ITEM_ID=iseq2.ITEM_ID and iseq2.ITEM_SEQUENCE_ID=idat2.ITEM_SEQUENCE_ID and i2.SDS_VAR_NAME like '%' || 'LBTESTCD' || '%') res
where igdat.ITEM_GROUP_DATA_ID=res.ITEM_GROUP_DATA_ID
and igdat.FORM_DATA_ID=fdat.FORM_DATA_ID
and fdat.EVENT_DATA_ID=edat.EVENT_DATA_ID
and edat.SUBJECT_ID=sbj.SUBJECT_ID
and sbj.SITE_ID=si.SITE_ID
and sbj.PROJECT_ID=s.PROJECT_ID
and si.ADDRESS_ID=ad.ADDRESS_ID(+)
and ad.COUNTRY_ID=c.ID(+)
and sbj.QA='Y'
and s.PROJECT_ID=42264;



Quand j'execute cette requete avec SQL DEVELOPPER, tout se passe tres bien. J'obtiens 49 lignes de resultats :

Code:
LBDTC                                                                                                                                                                                                                                                             
----------------------------
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#12/14/2007 08:45#                                                                                                                                                                                                                                               
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#     #                                                                                                                                                                                                                                                           
#12/30/2007 09:00#                                                                                                                                                                                                                                               
#12/30/2007 09:00#                                                                                                                                                                                                                                               
#12/30/2007 09:00#                                                                                                                                                                                                                                               
#12/30/2007 09:20#                                                                                                                                                                                                                                               

49 rows selected



Dans mon application,, j'essaye de recuperer les resultats par une query HIBERNATE :

Code:
ligne 1:String sql="select LBDTC from VW_LABORATORY_TESTS";
ligne 2:Query reportQuery =  getSession().createSQLQuery(sql);
ligne 3:List<Object> result = reportQuery.list();


Et les logs de mon application m'indiquent qu'à la ligne 3, les 20 premiers lignes de resultats sont charges et apres le programme boucle indefiniment sans me donner de resultats. Il n'y a pas de stack trace. Le programme tourne juste indefiniment sans me donner aucune information. J'ajoute que les lignes de resultats semblent etre chargees 10 par 10. C'est a dire que dans les logs je remarque que les 10 premiers resultats sont charges, puis ensuite les 10 suivants et ensuite plus rien ne se passe.
Je ne comprend pas pourquoi ma requete passe avec SQL DEVELOPPER et pas avec ma query HIBERNATE.
Est-ce que quelqu'un peut me donner des indices pour resoudre ce probleme ? Merci à l'avance.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.