pouzitie discriminator v Hibernate

Jiří Mareš Jiri.Mares na svt.cz
Úterý Červen 17 07:55:10 CEST 2008


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):
> 
> 
> teraz som si nasiel znova cas pokracovat v testovani:
> 
> tento kod ak trieda Rola je abstraktna by mal fungovat ? mne to 
> vyhadzuje vynimku:
> 
> DetachedCriteria criteria = DetachedCriteria.forClass(Rola.class);
>              criteria.add(Restrictions.in("id", getIds()));
>              List result = getHibernateTemplate().findByCriteria(criteria);
> 
> 
> 
> Ivan
> 
> Jiří Mareš  wrote / napísal(a):
>>
>> A neni ta hierarchie preci jenom malinko jinak? Ta chyba rika, ze 
>> objekt s id 4667772 nejde castovat na A ...
>>
>> Ivan Polak napsal(a):
>>> abstraktna trieda A, ma potomka B, ktory je tiez abstraktny a 
>>> posledna je
>>> trieda C1 az C4 co su potomkovania A, a C5 az C8 su potomkovia B. 
>>> konretne
>>> je objekt s id 4667772 je typu C5. getIds je Vector premennych typu 
>>> Long.
>>>
>>> Ivan
>>>
>>>
>>> --------- Original Message --------
>>> From: Java <konference na java.cz>
>>> To: Java <konference na java.cz>
>>> Subject: RE: pouzitie discriminator v Hibernate
>>> Date: 10/06/08 18:44
>>>
>>>> a jakeho typu je ten objekt s id 4667772? neni problem v tom getId()?
>>>> ________________________________________
>>>>
>>>> ....:Object with id: 4667772 was not of the specified subclass: 
>>>> sk.xxxxx.A
>>>> (Discriminator: 1   ); nested exception is
>>>> org.hibernate.WrongClassException: Object with id: 4667772 was not 
>>>> of the
>>>> specified subclass: sk.xxxxx.A (Discriminator: 1  )
>>>>
>>>> chyba sa objavi hned po vykonani findByCriteria.
>>>>
>>>> Ivan
>>>>
>>>>
>>>>
>>>
>>> ________________________________________________
>>> Message sent using Webmail 2.7.9
>>
> 

-- 
Jiří Mareš (mailto:Jiri.Mares na svt.cz)
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic




Další informace o konferenci Konference