Read the rules before posting!
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hibernate version: 2.1
Mapping documents:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="au.gov.wa.transport.sandpit.poc.hibernate.business.AddressBean" table="poc_address">
<id name="id" column="address_id" type="long" unsaved-value="null">
<generator class="sequence">
<param name="sequence">dpi_uid_seq</param>
</generator>
</id>
<version column="version" name="version" type="long"/>
<property name="street" column="street" type="string" length="15" not-null="false"/>
<property name="town" column="town" type="string" length="15" not-null="false"/>
<property name="state" column="state" type="string" length="15" not-null="false"/>
<property name="postcode" column="postcode" type="string" length="15" not-null="false"/>
<map name="people" table="poc_person_address" lazy="false" inverse="true">
<key column="address_id" />
<index type="long" column="person_id" />
<many-to-many class="au.gov.wa.transport.sandpit.poc.hibernate.business.PersonBean" column="person_id" />
</map>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="au.gov.wa.transport.sandpit.poc.hibernate.business.PersonBean" table="poc_person">
<id name="id" column="person_id" type="long" unsaved-value="null">
<generator class="sequence">
<param name="sequence">dpi_uid_seq</param>
</generator>
</id>
<version column="version" name="version" type="long"/>
<property name="firstname" column="firstname" type="string" length="15" not-null="false"/>
<property name="lastname" column="lastname" type="string" length="15" not-null="false"/>
<map name="addresses" table="poc_person_address" lazy="false" cascade="save-update">
<key column="person_id"/>
<index type="long" column="address_id"/>
<many-to-many class="au.gov.wa.transport.sandpit.poc.hibernate.business.AddressBean" column="address_id"/>
</map>
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():
Problem in obtaining a SessionFactory
Full stack trace of any exception that occurs:
09 Feb 2005 14:55:18 - INFO - net.sf.hibernate.dialect.Dialect:83 - Using dialect: net.sf.hibernate.dialect.OracleDialect
09 Feb 2005 14:55:18 - INFO - net.sf.hibernate.util.NamingHelper:26 - JNDI InitialContext properties:{}
09 Feb 2005 14:55:18 - INFO - net.sf.hibernate.connection.DatasourceConnectionProvider:52 - Using datasource: test
09 Feb 2005 14:55:18 - INFO - net.sf.hibernate.impl.SessionFactoryImpl:162 - Use outer join fetching: true
09 Feb 2005 14:55:18 - INFO - net.sf.hibernate.impl.SessionFactoryImpl:185 - Use scrollable result sets: true
09 Feb 2005 14:55:18 - INFO - net.sf.hibernate.impl.SessionFactoryImpl:186 - JDBC 2 max batch size: 15
09 Feb 2005 14:55:19 - ERROR - au.gov.wa.transport.sandpit.poc.hibernate.util.HibernateUtil:25 - Initial SessionFactory creation failed
net.sf.hibernate.MappingException: Repeated column in mapping for collection: au.gov.wa.transport.sandpit.poc.hibernate.business.AddressBean.people column: person_id
at net.sf.hibernate.collection.CollectionPersister.checkColumnDuplication(CollectionPersister.java:838)
at net.sf.hibernate.collection.CollectionPersister.<init>(CollectionPersister.java:214)
at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:216)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:627)
at au.gov.wa.transport.sandpit.poc.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:23)
at au.gov.wa.transport.sandpit.poc.hibernate.transaction.Transaction.getSession(Transaction.java:77)
at au.gov.wa.transport.sandpit.poc.hibernate.transaction.AddPersonTransaction.execute(AddPersonTransaction.java:30)
at au.gov.wa.transport.sandpit.poc.hibernate.business.ServiceProviderBD.savePerson(ServiceProviderBD.java:95)
at au.gov.wa.transport.sandpit.poc.hibernate.action.PersonAction.perform(PersonAction.java:55)
at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Name and version of the database you are using:
Oracle 8.1.7
The generated SQL (show_sql=true):
Debug level Hibernate log excerpt: