Hibernate version: 3.0.5
Mapping documents:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.be.desktopbeautifier.database">
<class name="Image" table="image">
<id name="id">
<generator class="native"/>
</id>
<discriminator column="discriminator"/>
<version name="version"/>
<property name="discriminator" type="string" insert="false" update="false"
not-null="true"/>
<property name="data" length="2000000" not-null="true"/>
<property name="dataDigest" length="100000" not-null="true"/>
<many-to-one name="dataSpecification" column="specification"
class="ImageSpecification" cascade="save-update" not-null="true"/>
<many-to-one name="contentType" class="ContentType" cascade="save-update"
not-null="true"/>
<many-to-one name="theme" class="com.be.desktopbeautifier.database.Theme"
cascade="save-update" not-null="true"/>
<many-to-one name="provider" class="ImageProvider" cascade="save-update"
not-null="true"/>
<subclass name="AbstractImage">
<subclass name="DefaultImage"/>
</subclass>
<subclass name="CachedImage">
<subclass name="DefaultCachedImage"/>
</subclass>
</class>
</hibernate-mapping>
Name and version of the database you are using:MySQL 4.1.2-nt
Normally casting works fine for me but I just ran into a problem where if I invoke Session.get(Image.class.getName(), someID) then try to cast the returned object to CachedImage this exception is thrown:
Code:
java.lang.ClassCastException: com.be.desktopbeautifier.database.Image$$EnhancerByCGLIB$$eb0e25cb
If I use Session.get(CachedImage.class.getName(), someID) I get this warning message instead:
Code:
Narrowing proxy to interface com.be.desktopbeautifier.database.CachedImage - this operation breaks ==
I know for a fact that someID refers to a CachedImage so a ClassCastException should not be occuring here. Is there something wrong with my mapping file or is this a bug in Hibernate's proxy handling of interfaces?
Thank you,
Gili