| 
					
						 I am getting an error mapping composite keys. Please advise. Mapping files are below.
 
 Hibernate version: 
 Version 2
 Mapping documents:
 
 I have one table
 <hibernate-mapping package="com.xxx.business.domain">
 	<class
 		name="PlanPkgOptionValue"
 		table="PLAN_PKG_OPTION_VALUE"
 	>
     <composite-id name="id" class="PlanPkgOptionValuePK">
 	    <key-many-to-one
 		    name="planPkgOption"
 		    class="PlanPkgOption"
 	    >
 		<column name="PLAN_PACKAGE_ID"/>
 		    <column name="OPTION_VALUE_ID"/>
 	    </key-many-to-one>
 	    <key-many-to-one
 		    name="optionValue"
 		    class="OptionValue"
 		    column="OPTION_VALUE_ID"
 	    />
     </composite-id>
 
 and another related table
 <hibernate-mapping package="com.xxx.business.domain">
 	<class
 		name="PlanPkgOdometerOptVal"
 		table="PLAN_PKG_ODOMETER_OPT_VAL"
 	>
     <composite-id>
 	    <key-many-to-one name="optionValue" class="PlanPkgOptionValue">
 		    <column name="OPTION_VALUE_ID"/>
 		    <column name="PLAN_PACKAGE_ID"/>
 		    <column name="OPTION_ID"/>
 	    </key-many-to-one>
 	    <key-many-to-one
 		    name="odometer"
 		    class="PlanPkgOdometer"
 		    column="ODOMETER_ID"
 	    />
     </composite-id>
 Full stack trace of any exception that occurs:
 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in resource [/WEB-INF/applicationContext.xml] of ServletContext: Initialization of bean failed; nested exception is net.sf.hibernate.MappingException: Foreign key (PLAN_PKG_ODOMETER_OPT_VAL [OPTION_VALUE_ID,PLAN_PACKAGE_ID,OPTION_ID])) must have same number of columns as the referenced primary key (PLAN_PKG_OPTION_VALUE [PLAN_PACKAGE_ID,OPTION_VALUE_ID])
 net.sf.hibernate.MappingException: Foreign key (PLAN_PKG_ODOMETER_OPT_VAL [OPTION_VALUE_ID,PLAN_PACKAGE_ID,OPTION_ID])) must have same number of columns as the referenced primary key (PLAN_PKG_OPTION_VALUE [PLAN_PACKAGE_ID,OPTION_VALUE_ID])
 	at net.sf.hibernate.mapping.ForeignKey.setReferencedTable(ForeignKey.java:60)
 	at net.sf.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:667)
 	at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:761)
 	at org.springframework.orm.hibernate.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:467)
 	at org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:405)
 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:991)
 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:288)
 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:208)
 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204)
 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:136)
 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:224)
 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:284)
 	at org.springframework.web.context.support.XmlWebApplicationContext.refresh(XmlWebApplicationContext.java:131)
 	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:156)
 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:97)
 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
 	at org.mortbay.jetty.servlet.WebApplicationContext.start(WebApplicationContext.java:439)
 	at org.mortbay.http.HttpServer.start(HttpServer.java:663)
 	at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:231)
 	at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:135)
 
 Name and version of the database you are using:
 Oracle 8i 
					
  
						
					 |