Hibernate
有两张表,customTable.xml 和series两张表,主建分别为custom_table_id和series_id,中间表为customSeriesMapping,有id(自然主键)custom_table_id,series_id 和forecast_category_id都是其他表的外间,在表的级联更新和删除的时候都出现以下的错误。请帮忙看下.
CustomTable.hbm.xml<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Sep 19, 2008 5:32:15 PM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="com.risi.eap.model.CustomTable" table="eap_custom_table">
<id name="id" type="java.lang.Long">
<column name="id" />
<generator class="identity" />
</id>
<set name="customTableSeries" inverse="false" table="eap_custom_table_series" cascade="all" lazy="false">
<key>
<column name="custom_table_id"/>
</key>
<one-to-many class="com.risi.eap.model.CustomTableSeriesMapping"/>
</set>
</class>
</hibernate-mapping>
CustomTableSeriesMapping.hxm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Sep 19, 2008 5:32:15 PM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="com.risi.eap.model.CustomTableSeriesMapping" table="eap_custom_table_series">
<id name="id" type="java.lang.Long">
<column name="id" />
<generator class="identity" />
</id>
<many-to-one name="customTable" class="com.risi.eap.model.CustomTable">
<column name="custom_table_id" />
</many-to-one>
<many-to-one name="series" class="com.risi.eap.model.Series">
<column name="series_id" />
</many-to-one>
<many-to-one name="forecastCategory" class="com.risi.eap.model.ForecastCategory">
<column name="forecast_category_id" />
</many-to-one>
</class>
</hibernate-mapping>
series.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Oct 5, 2008 11:56:39 AM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="com.risi.eap.model.Series" table="eap_series">
<id name="id" type="java.lang.Long">
<column name="id" />
<generator class="identity" />
</id>
<many-to-one name="seriesUnit" class="com.risi.eap.model.SeriesUnit" fetch="select">
<column name="unit_id" />
</many-to-one>
<many-to-one name="seriesGrade" class="com.risi.eap.model.SeriesGrade" fetch="select">
<column name="grade_id" />
</many-to-one>
<many-to-one name="seriesFrequency" class="com.risi.eap.model.SeriesFrequency" fetch="select">
<column name="frequency_id" />
</many-to-one>
<many-to-one name="seriesConcept" class="com.risi.eap.model.SeriesConcept" fetch="select">
<column name="main_concept_id" />
</many-to-one>
<many-to-one name="seriesSubconcept" class="com.risi.eap.model.SeriesSubconcept" fetch="select">
<column name="subconcept_id" />
</many-to-one>
<property name="epsMneumonic" type="string">
<column name="eps_mneumonic" length="100" not-null="true" />
</property>
<property name="mnemonic" type="string">
<column name="mnemonic" length="100" not-null="true" />
</property>
<property name="shortName" type="string">
<column name="short_name" />
</property>
<property name="longName" type="string">
<column name="long_name" />
</property>
<property name="seriesRegion" type="string">
<column name="series_region" />
</property>
<property name="grade2" type="string">
<column name="grade2" />
</property>
<property name="grade3" type="string">
<column name="grade3" />
</property>
<property name="keyword" type="string">
<column name="keyword" />
</property>
<property name="concept" type="string">
<column name="concept" />
</property>
<property name="tradeTo" type="string">
<column name="trade_to" />
</property>
<property name="tradeFrom" type="string">
<column name="trade_from" />
</property>
<property name="seasonalChange" type="java.lang.Byte">
<column name="seasonal_change" />
</property>
<set name="snapshots" inverse="true">
<key>
<column name="series_id" not-null="true" />
</key>
<one-to-many class="com.risi.eap.model.Snapshot" />
</set>
<set name="seriesSubconcepts" inverse="false" table="eap_series_series_subconcept">
<key>
<column name="series_id" not-null="true" />
</key>
<many-to-many entity-name="com.risi.eap.model.SeriesSubconcept">
<column name="subconcept_id" not-null="true" />
</many-to-many>
</set>
<set name="chartSubSerieses" inverse="true">
<key>
<column name="series_id" not-null="true" />
</key>
<one-to-many class="com.risi.eap.model.ChartSubSeries" />
</set>
<set name="customTableSeries" inverse="false" table="eap_custom_table_series">
<key>
<column name="series_id" not-null="true" />
</key>
<one-to-many entity-name="com.risi.eap.model.CustomTableSeriesMapping"/>
</set>
<set name="chartSerieses" inverse="true">
<key>
<column name="series_id" not-null="true" />
</key>
<one-to-many class="com.risi.eap.model.ChartSeries" />
</set>
<set name="seriesConcepts" inverse="false" table="eap_series_series_concept">
<key>
<column name="series_id" not-null="true" />
</key>
<many-to-many entity-name="com.risi.eap.model.SeriesConcept">
<column name="concept_id" not-null="true" />
</many-to-many>
</set>
<set name="seriesGroupSerieses" inverse="true">
<key>
<column name="series_id" not-null="true" />
</key>
<one-to-many class="com.risi.eap.model.SeriesGroupSeries" />
</set>
</class>
</hibernate-mapping>