| I am getting error with database identity column in Sybase 12.x.  The same works OK with Microsoft SQL Server 2000, so I am not sure if it is JDBC driver or Hibernate problem.
 Hibernate version:  3.0 beta 4
 
 Mapping documents:
 <class name="xxx.entity.Name" table="T_NAME">
 <id name="id" column="id">
 <generator class="identity"/>
 </id>
 <property name="name" column="name"/>
 </class>
 
 Code between sessionFactory.openSession() and session.close():
 Name name = new Name();
 name.setName("Test");
 session.save(name);  // error is genrated by this method
 
 Full stack trace of any exception that occurs:
 org.hibernate.exception.GenericJDBCException: could not insert: [xyz.entity.Name]
 at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:82)
 at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:70)
 at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
 at org.hibernate.persister.BasicEntityPersister.insert(BasicEntityPersister.java:1598)
 at org.hibernate.persister.BasicEntityPersister.insert(BasicEntityPersister.java:1997)
 at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:36)
 at org.hibernate.impl.ActionQueue.execute(ActionQueue.java:240)
 at org.hibernate.event.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:221)
 at org.hibernate.event.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:148)
 at org.hibernate.event.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:94)
 at org.hibernate.event.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:171)
 at org.hibernate.event.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:31)
 at org.hibernate.event.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:160)
 at org.hibernate.event.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:25)
 at org.hibernate.event.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:64)
 at org.hibernate.impl.SessionImpl.save(SessionImpl.java:575)
 at org.hibernate.impl.SessionImpl.save(SessionImpl.java:570)
 at mytest.fts.entity.NameTest.testName(NameTest.java:29)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:324)
 at junit.framework.TestCase.runTest(TestCase.java:154)
 at junit.framework.TestCase.runBare(TestCase.java:127)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:118)
 at junit.framework.TestSuite.runTest(TestSuite.java:208)
 at junit.framework.TestSuite.run(TestSuite.java:203)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:421)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:305)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:186)
 Caused by: java.sql.SQLException: [BEA][Sybase JDBC Driver]No rows affected.
 at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
 at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
 at weblogic.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
 at weblogic.jdbc.base.BasePreparedStatement.executeUpdate(Unknown Source)
 at org.hibernate.persister.BasicEntityPersister.insert(BasicEntityPersister.java:1583)
 ... 29 more
 
 
 Name and version of the database you are using:
 Sybase 12.0
 
 The generated SQL (show_sql=true):
 insert into T_NAME (name) values (?)
 
 Debug level Hibernate log excerpt:
 448:12,369 DEBUG JDBCTransaction: begin
 48:12,369 DEBUG AbstractBatcher: opening JDBC connection
 48:12,369 DEBUG DriverManagerConnectionProvider: total checked-out connections: 0
 48:12,369 DEBUG DriverManagerConnectionProvider: using pooled JDBC connection, pool size: 0
 48:12,369 DEBUG JDBCTransaction: current autocommit status: false
 48:12,369 DEBUG DefaultSaveOrUpdateEventListener: saving transient instance
 48:12,369 DEBUG AbstractSaveEventListener: saving [xyz.entity.Name#<null>]
 48:12,369 DEBUG AbstractSaveEventListener: executing insertions
 48:12,385 DEBUG BasicEntityPersister: Inserting entity: xyz.entity.Name (native id)
 48:12,385 DEBUG AbstractBatcher: about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
 48:12,385 DEBUG SQL: insert into T_NAME (name) values (?)
 Hibernate: insert into T_NAME (name) values (?)
 48:12,385 DEBUG AbstractBatcher: preparing statement
 48:12,479 DEBUG BasicEntityPersister: Dehydrating entity: [xyz.fts.entity.Name#<null>]
 48:12,479 DEBUG StringType: binding 'Test' to parameter: 1
 48:12,494 DEBUG AbstractBatcher: about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
 48:12,494 DEBUG AbstractBatcher: closing statement
 48:12,494 DEBUG JDBCExceptionReporter: could not insert: [xyz.entity.Name] [insert into T_NAME (name) values (?)]
 java.sql.SQLException: [BEA][Sybase JDBC Driver]No rows affected.
 at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
 at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
 at weblogic.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
 at weblogic.jdbc.base.BasePreparedStatement.executeUpdate(Unknown Source)
 at org.hibernate.persister.BasicEntityPersister.insert(BasicEntityPersister.java:1583)
 at org.hibernate.persister.BasicEntityPersister.insert(BasicEntityPersister.java:1997)
 at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:36)
 at org.hibernate.impl.ActionQueue.execute(ActionQueue.java:240)
 at org.hibernate.event.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:221)
 at org.hibernate.event.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:148)
 at org.hibernate.event.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:94)
 at org.hibernate.event.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:171)
 at org.hibernate.event.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:31)
 at org.hibernate.event.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:160)
 at org.hibernate.event.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:25)
 at org.hibernate.event.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:64)
 at org.hibernate.impl.SessionImpl.save(SessionImpl.java:575)
 at org.hibernate.impl.SessionImpl.save(SessionImpl.java:570)
 at mytest.fts.entity.NameTest.testName(NameTest.java:29)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:324)
 at junit.framework.TestCase.runTest(TestCase.java:154)
 at junit.framework.TestCase.runBare(TestCase.java:127)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:118)
 at junit.framework.TestSuite.runTest(TestSuite.java:208)
 at junit.framework.TestSuite.run(TestSuite.java:203)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:421)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:305)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:186)
 48:12,510 WARN JDBCExceptionReporter: SQL Error: 0, SQLState: HY000
 48:12,510 ERROR JDBCExceptionReporter: [BEA][Sybase JDBC Driver]No rows affected.
 48:12,510 DEBUG NameTest: Rollback the transaction
 48:12,510 DEBUG JDBCTransaction: rollback
 48:12,526 DEBUG SessionImpl: transaction completion
 
 
 |