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: