Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hibernate version:NHibernate1.2.0Beta 2
Mapping documents:
Code between sessionFactory.openSession() and session.close():
Full stack trace of any exception that occurs:
Name and version of the database you are using: SQL Server 2005
The generated SQL (show_sql=true):
I get this error when generating inserts for this mapping file on the "Kundenr" column, but selects works allright and only has the "Kundenr" field once.
Any idea what the problem might be?
Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Blomqvist" assembly ="Blomqvist" >
<class
name = "Nett_User"
proxy= "Nett_User"
dynamic-update="true"
dynamic-insert="true"
table= "[dbo].[Nett_User]" >
<id name="Nettuserid"
column="Nettuserid"
type="System.Int32" >
<generator class="Blomqvist.HibernateGenerator, Blomqvist" />
</id>
<version
name="Hbversion"
column="Hbversion"
type="System.Int32"
unsaved-value="null"
/>
<property name="Kundenr" ></property>
<property name="Password" column="Password" type="System.String" length="50" access="field.camelcase-underscore" ></property>
<property name="Username" column="Username" type="System.String" length="100" access="field.camelcase-underscore" ></property>
<property name="CreationDate" ></property>
<property name="SecurityQuestion" ></property>
<property name="SecurityAnswer" ></property>
<property name="IsApproved" access="field.camelcase-underscore"></property>
<property name="IsOnline" access="field.camelcase-underscore" ></property>
<property name="IsLockedOut" access="field.camelcase-underscore" ></property>
<property name="IsSubscriber" access="field.camelcase-underscore" ></property>
<property name="LastActivityDate" ></property>
<property name="LastLoginDate" ></property>
<property name="LastPasswordChangedDate" ></property>
<property name="LastLockedoutDate" ></property>
<property name="FailedPasswordAttemptCount" ></property>
<property name="FailedPasswordAttemptWindowStart" ></property>
<property name="FailedPasswordAnswerAttemptCount" ></property>
<property name="FailedPasswordAnswerAttemptWindowStart" ></property>
<property name="Comment" ></property>
<many-to-one
name = "Kunde"
class = "Kunde"
cascade = "save-update"
fetch="select"
update = "true" >
<column name="Kundenr" />
</many-to-one>
<bag
name="Nett_UserInRole"
cascade="all-delete-orphan"
lazy="true" inverse="true" >
<key>
<column name= "Nettuserid" />
</key>
<one-to-many class="Nett_UserInRole" />
</bag>
<bag
name="Kreditkort"
cascade="all-delete-orphan"
lazy="true" inverse="true"
generic="true" >
<key>
<column name= "Kundenr" />
</key>
<one-to-many class="NettKreditkort" />
</bag>
</class>
</hibernate-mapping>
Debug level Hibernate log excerpt:Code:
2007-01-02 13:08:08,383 [1] ERROR NHibernate.Util.ADOExceptionReporter [(null)] <(null)> - Column name 'Kundenr' appears more than once in the result column list.
2007-01-02 13:08:08,533 [1] ERROR NHibernate.Impl.SessionImpl [(null)] <(null)> - could not synchronize database state with session
NHibernate.ADOException: could not insert: [Blomqvist.Nett_User#849][SQL: INSERT INTO [dbo].[Nett_User] (Hbversion, Kundenr, Username, CreationDate, IsApproved, IsOnline, IsLockedOut, IsSubscriber, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Kundenr, Nettuserid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] ---> System.Data.SqlClient.SqlException: Column name 'Kundenr' appears more than once in the result column list.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\BatcherImpl.cs:line 175
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\NonBatchingBatcher.cs:line 36
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2871
--- End of inner exception stack trace ---
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2888
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2525
at NHibernate.Impl.ScheduledInsertion.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\ScheduledInsertion.cs:line 39
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3299
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3278
at NHibernate.Impl.SessionImpl.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3220
2007-01-02 13:08:09,402 [1] ERROR NHibernate.Util.ADOExceptionReporter [(null)] <(null)> - Column name 'Kundenr' appears more than once in the result column list.
2007-01-02 13:08:09,422 [1] ERROR NHibernate.Impl.SessionImpl [(null)] <(null)> - could not synchronize database state with session
NHibernate.ADOException: could not insert: [Blomqvist.Nett_User#849][SQL: INSERT INTO [dbo].[Nett_User] (Hbversion, Kundenr, Username, CreationDate, IsApproved, IsOnline, IsLockedOut, IsSubscriber, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Kundenr, Nettuserid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] ---> System.Data.SqlClient.SqlException: Column name 'Kundenr' appears more than once in the result column list.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\BatcherImpl.cs:line 175
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\NonBatchingBatcher.cs:line 36
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2871
--- End of inner exception stack trace ---
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2888
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2525
at NHibernate.Impl.ScheduledInsertion.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\ScheduledInsertion.cs:line 39
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3299
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3278
at NHibernate.Impl.SessionImpl.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3220
2007-01-02 13:08:09,601 [1] ERROR NHibernate.Util.ADOExceptionReporter [(null)] <(null)> - Column name 'Kundenr' appears more than once in the result column list.
2007-01-02 13:08:09,611 [1] ERROR NHibernate.Impl.SessionImpl [(null)] <(null)> - could not synchronize database state with session
NHibernate.ADOException: could not insert: [Blomqvist.Nett_User#849][SQL: INSERT INTO [dbo].[Nett_User] (Hbversion, Kundenr, Username, CreationDate, IsApproved, IsOnline, IsLockedOut, IsSubscriber, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Kundenr, Nettuserid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] ---> System.Data.SqlClient.SqlException: Column name 'Kundenr' appears more than once in the result column list.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\BatcherImpl.cs:line 175
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\NonBatchingBatcher.cs:line 36
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2871
--- End of inner exception stack trace ---
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2888
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2525
at NHibernate.Impl.ScheduledInsertion.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\ScheduledInsertion.cs:line 39
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3299
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3278
at NHibernate.Impl.SessionImpl.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3220
2007-01-02 13:08:09,731 [1] ERROR NHibernate.Util.ADOExceptionReporter [(null)] <(null)> - Column name 'Kundenr' appears more than once in the result column list.
2007-01-02 13:08:09,741 [1] ERROR NHibernate.Impl.SessionImpl [(null)] <(null)> - could not synchronize database state with session
NHibernate.ADOException: could not insert: [Blomqvist.Nett_User#849][SQL: INSERT INTO [dbo].[Nett_User] (Hbversion, Kundenr, Username, CreationDate, IsApproved, IsOnline, IsLockedOut, IsSubscriber, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Kundenr, Nettuserid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] ---> System.Data.SqlClient.SqlException: Column name 'Kundenr' appears more than once in the result column list.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\BatcherImpl.cs:line 175
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\NonBatchingBatcher.cs:line 36
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2871
--- End of inner exception stack trace ---
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2888
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Persister\Entity\AbstractEntityPersister.cs:line 2525
at NHibernate.Impl.ScheduledInsertion.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\ScheduledInsertion.cs:line 39
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3299
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list) in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3278
at NHibernate.Impl.SessionImpl.Execute() in C:\Projects\Extern\Blomqvist\Andhoy\NHibernate\1200\src\NHibernate\Impl\SessionImpl.cs:line 3220
2007-01-02 13:17:40,745 [1] INFO NHibernate.Cfg.Environment [(null)] <(null)> - NHibernate 1.2.0.2002 (1.2.0.2002)
2007-01-02 13:17:40,815 [1] INFO NHibernate.Cfg.Environment [(null)] <(null)> - nhibernate section not found in application configuration file
2007-01-02 13:17:40,815 [1] INFO NHibernate.Cfg.Environment [(null)] <(null)> - Bytecode provider name : lcg
2007-01-02 13:17:40,825 [1] INFO NHibernate.Cfg.Environment [(null)] <(null)> - Using reflection optimizer
2007-01-02 13:17:41,215 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - connection.provider=NHibernate.Connection.DriverConnectionProvider
2007-01-02 13:17:41,215 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - connection.driver_class=NHibernate.Driver.SqlClientDriver
2007-01-02 13:17:41,215 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - connection.connection_string=data source=172.18.0.10; initial catalog=blomqvist; user id=blomqvist; password=blomqvist;Connection Timeout=15;persist security info=True; Application Name=Nettauksjon;
2007-01-02 13:17:41,215 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - connection.isolation=Snapshot
2007-01-02 13:17:41,225 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - dialect=NHibernate.Dialect.MsSql2005Dialect
2007-01-02 13:17:41,225 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - show_sql=true
2007-01-02 13:17:41,225 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - prepare_sql=false
2007-01-02 13:17:41,225 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - hibernate.max_fetch_depth=1
2007-01-02 13:17:41,225 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - isolation=Snapshot
2007-01-02 13:17:41,225 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - query.substitutions=true 1, false 0
2007-01-02 13:17:41,235 [1] DEBUG NHibernate.Cfg.Configuration [(null)] <(null)> - nhibernator<-Blomqvist
Problems with Session and transaction handling?
Read this:
http://hibernate.org/42.html