pouzitie discriminator v Hibernate

Ivan Polak info na infoportal.sk
Úterý Červen 17 08:54:21 CEST 2008


skusim to lepsie popisat. mam DB tabulku T_ROLA kde je namapovana trieda
Rola (abstraktna). v tejto tabulke je discriminator stlpec type. existuje
trie Administrator odvodena od triedy Rola, ktora ma discriminator value
"A". 

potrebujem ziskat vsetky zaznamy z tabulky Rola (ak id-cko zaznamu sa
nachadza v  mnozine id-ciek, testovane pomocou IN). a takto ziskane zaznamy
otestovat ci su "instanceof Administrator" a ak ano tak ich napriklad
vypisat.

toto sa teda pomocou HQL da spravit ?

velmi pekne dakujem

Ivan


--------- Original Message --------
From: Java <konference na java.cz>
To: Java <konference na java.cz>
Subject: Re: pouzitie discriminator v Hibernate
Date: 17/06/08 09:56

> 
> Bohuzel nemam zkusenost s criteria API ale v HQL to normalne jede ... at
je role abstraktni a nebo neni, vzdyt 
> discriminator teto abstraktni tridz se v tabulce nevyskytuje, ne?
> 
> Jirka
> 
> Ivan Polák napsal(a):
> &gt; 
> &gt; 
> &gt; teraz som si nasiel znova cas pokracovat v testovani:
> &gt; 
> &gt; tento kod ak trieda Rola je abstraktna by mal fungovat ? mne to 
> &gt; vyhadzuje vynimku:
> &gt; 
> &gt; DetachedCriteria criteria = DetachedCriteria.forClass(Rola.class);
> &gt;              criteria.add(Restrictions.in(&quot;id&quot;, getIds()));
> &gt;              List result =
getHibernateTemplate().findByCriteria(criteria);
> &gt; 
> &gt; 
> &gt; 
> &gt; Ivan
> &gt; 
> &gt; JiÅ™í Mare&amp;scaron;  wrote / napísal(a):
> &gt;&gt;
> &gt;&gt; A neni ta hierarchie preci jenom malinko jinak? Ta chyba rika, ze

> &gt;&gt; objekt s id 4667772 nejde castovat na A ...
> &gt;&gt;
> &gt;&gt; Ivan Polak napsal(a):
> &gt;&gt;&gt; abstraktna trieda A, ma potomka B, ktory je tiez abstraktny a

> &gt;&gt;&gt; posledna je
> &gt;&gt;&gt; trieda C1 az C4 co su potomkovania A, a C5 az C8 su
potomkovia B. 
> &gt;&gt;&gt; konretne
> &gt;&gt;&gt; je objekt s id 4667772 je typu C5. getIds je Vector
premennych typu 
> &gt;&gt;&gt; Long.
> &gt;&gt;&gt;
> &gt;&gt;&gt; Ivan
> &gt;&gt;&gt;
> &gt;&gt;&gt;
> &gt;&gt;&gt; --------- Original Message --------
> &gt;&gt;&gt; From: Java &lt;konference na java.cz&gt;
> &gt;&gt;&gt; To: Java &lt;konference na java.cz&gt;
> &gt;&gt;&gt; Subject: RE: pouzitie discriminator v Hibernate
> &gt;&gt;&gt; Date: 10/06/08 18:44
> &gt;&gt;&gt;
> &gt;&gt;&gt;&gt; a jakeho typu je ten objekt s id 4667772? neni problem v
tom getId()?
> &gt;&gt;&gt;&gt; ________________________________________
> &gt;&gt;&gt;&gt;
> &gt;&gt;&gt;&gt; ....:Object with id: 4667772 was not of the specified
subclass: 
> &gt;&gt;&gt;&gt; sk.xxxxx.A
> &gt;&gt;&gt;&gt; (Discriminator: 1   ); nested exception is
> &gt;&gt;&gt;&gt; org.hibernate.WrongClassException: Object with id:
4667772 was not 
> &gt;&gt;&gt;&gt; of the
> &gt;&gt;&gt;&gt; specified subclass: sk.xxxxx.A (Discriminator: 1  )
> &gt;&gt;&gt;&gt;
> &gt;&gt;&gt;&gt; chyba sa objavi hned po vykonani findByCriteria.
> &gt;&gt;&gt;&gt;
> &gt;&gt;&gt;&gt; Ivan
> &gt;&gt;&gt;&gt;
> &gt;&gt;&gt;&gt;
> &gt;&gt;&gt;&gt;
> &gt;&gt;&gt;
> &gt;&gt;&gt; ________________________________________________
> &gt;&gt;&gt; Message sent using Webmail 2.7.9
> &gt;&gt;
> &gt; 
> 
> -- 
> JiÅ™í Mare&amp;scaron; (mailto:Jiri.Mares na svt.cz)
> ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
> Czech Republic
> 
> 
> 

________________________________________________
Message sent using Webmail 2.7.9



Další informace o konferenci Konference