Nechtel jsi spis pouzit Class.isAssignableFrom? Hibernate Ti primo v dokumentaci nezarucuje, ze kdyz mu das nejakou tridu, tak primo ji dostanes. Hodne casto dostanes nejakeho jejich potomka.
> -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Ivan Polak > Sent: Thursday, March 11, 2010 12:47 PM > To: Java > Subject: hibernate a instanceOf > > Zdravim konferenciu, > > mam v hibernate nasledovne objekty: > > objekt Customer : > > @Entity > @Table(name="customer") > @Inheritance(strategy = InheritanceType.SINGLE_TABLE) > @DiscriminatorColumn(name = "customer_type", > discriminatorType=DiscriminatorType.STRING) > public abstract class Customer extends BaseObject { .... > } > > a od neho odvodeny objekt Shipper: > > @Entity > @DiscriminatorValue("S") > public class Shipper extends Customer { > ...} > > potrebujem pouzit nasledovny test: > > returnValue = Class.forName(className).isInstance(o); > > kde className je premenna typu String s hodnotou "com.project.Shipper" > a Objekt o je cez Hibernate vytiahnuty objekt z DB, > zobraznene vo watch okne: Customer_$$_javassist_145 (...). > > preco je returnValue FALSE, ked by podla mna malo byt TRUE ? > > dakujem > > Ivan >
