Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hibernate version: 3.1
Mapping documents: <?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.raytheon.pmf.dto">
<class name="PrgIptWbsMetricsTO" table="PRG_IPT_WBS_METRICS">
<comment>PRG_IPT_WBS_METRICS</comment>
<id name="iptWbsMetricId" column="IPT_WBS_METRIC_ID">
<generator class="sequence">
<param name="sequence">SEQ_PRG_IPT_WBS_METRICS</param>
</generator>
</id>
<property name="wbsWstId"
column="WBS_WST_ID"
type="long"/>
<property name="metricId"
column="METRIC_ID"
type="long"
insert="false"
update="false"/>
<property name="iptId"
column="IPT_ID"
type="long"
insert="false"
update="false"/>
<property name="activeFlag"
column="ACTIVE_FLAG"
type="string"/>
<property name="dateCreated"
column="DATE_CREATED"
type="date"/>
<property name="createdBy"
column="CREATED_BY"
type="string"/>
<property name="dateModified"
column="DATE_MODIFIED"
type="date"/>
<property name="modifiedBy"
column="MODIFIED_BY"
type="string"/>
<set name="iptCpiSpi"
table="PRG_IPT_CPISPI"
order-by="reporting_period desc">
<key column="IPT_WBS_METRIC_ID" />
<one-to-many class="PrgIptCpiSpiTO"/>
</set>
<many-to-one name="metricConfig"
property-ref="iptIdAndMetricId"
class="PrgIptMetricConfigTO"
not-null="false">
<column name="IPT_ID"/>
<column name="METRIC_ID"/>
</many-to-one>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.raytheon.pmf.dto">
<class name="PrgIptMetricConfigTO" table="PRG_IPT_METRIC_CONFIG">
<comment>PRG_IPT_METRIC_CONFIG</comment>
<id name="iptConfigId" column="IPT_CONFIG_ID">
<generator class="sequence">
<param name="sequence">SEQ_PRG_IPT_METRIC_CONFIG</param>
</generator>
</id>
<!-- composite unique -->
<properties name="iptIdAndMetricId" unique="true" update="false">
<property name="iptId"
column="IPT_ID"
type="long"/>
<property name="metricId"
column="METRIC_ID"
type="long"/>
</properties>
<property name="reportFrequency"
column="REPORT_FREQUENCY"
type="long"/>
<property name="dataSource"
column="DATA_SOURCE"
type="long"/>
<property name="dataSourceId"
column="DATA_SOURCE_ID"
type="long"/>
<property name="startDate"
column="START_DATE"
type="date"/>
<property name="endDate"
column="END_DATE"
type="date"/>
<property name="dateCreated"
column="DATE_CREATED"
type="date"/>
<property name="createdBy"
column="CREATED_BY"
type="string"/>
<property name="dateModified"
column="DATE_MODIFIED"
type="date"/>
<property name="modifiedBy"
column="MODIFIED_BY"
type="string"/>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close(): PrgIptWbsMetricsTO wbsMetricSet = (PrgIptWbsMetricsTO) iptBo.get(PrgIptWbsMetricsTO.class, new Long(2));
Full stack trace of any exception that occurs: Caused by: java.lang.ClassCastException: com.raytheon.pmf.dto.PrgIptMetricConfigTO at org.hibernate.type.ManyToOneType.hydrate(ManyToOneType.java:95) at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:1899) at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372) at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300) at org.hibernate.loader.Loader.getRow(Loader.java:1197) at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569) at org.hibernate.loader.Loader.doQuery(Loader.java:689) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.loadEntity(Loader.java:1785) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730) at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365) at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346) at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123) at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862) at org.hibernate.impl.SessionImpl.get(SessionImpl.java:799) at org.hibernate.impl.SessionImpl.get(SessionImpl.java:792) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301) at $Proxy0.get(Unknown Source) at com.raytheon.quadCharts.bo.BaseBO.get(BaseBO.java:21) ... 23 more
Name and version of the database you are using: Oracle 10g
The generated SQL (show_sql=true):
Debug level Hibernate log excerpt:
I am using <properties> and <property-ref> to try to do a many-to-one join, and I keep getting a ClassCastException on the object I am joinining. I have tried to do everything according to the documentation as best as I can. I am a bit lost here...