javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0]

Hibernate JIRA | Chandra | 10 years ago
  1. 0

    We have id defined in a MappedSuperclass (Base) and derrived entity class (Cat). We specify table-generator in an xml file (cat.xml) and use attribute override for ID column. testMappedSuperClassWithTableGenerator in org.hibernate.test.annotations.id.IdTest class fails. If we inline mapped super class with Entity then the test cases succeeds. With attached debugger we noticed that the TableGenerator is attached to in the begining when the class is in the process of mapping. However, at later point it get overridden by org.hibernate.id.Assigned. The output with oracle db is, 17:43:51,651 INFO Version:118 - Hibernate Annotations 3.3.0.GA 17:43:51,682 INFO Environment:118 - Hibernate 3.2.4.sp1 17:43:51,697 INFO Environment:118 - hibernate.properties not found 17:43:51,697 INFO Environment:118 - Bytecode provider name : cglib 17:43:51,713 INFO Environment:118 - using JDK 1.4 java.sql.Timestamp handling 17:43:51,869 INFO Version:118 - Hibernate EntityManager 3.3.1.GA 17:43:51,916 DEBUG Ejb3Configuration:97 - Look up for persistence unit: vet 17:43:51,916 DEBUG Ejb3Configuration:76 - Analyse of persistence.xml: file:/C:/projects/sample/target/classes/META-INF/persistence.xml 17:43:52,963 DEBUG DTDEntityResolver:97 - trying to resolve system-id [file:/C:/projects/sample/target/classes/META-INF/xsd/persistence_1_0.xsd] 17:43:52,963 DEBUG EJB3DTDEntityResolver:97 - recognized EJB3 ORM namespace; attempting to resolve on classpath under org/hibernate/ejb 17:43:52,963 DEBUG EJB3DTDEntityResolver:97 - located [file:/C:/projects/sample/target/classes/META-INF/xsd/persistence_1_0.xsd] in classpath 17:43:53,119 DEBUG DTDEntityResolver:97 - trying to resolve system-id [file:/C:/projects/sample/target/classes/META-INF/vets-persistence.xml] 17:43:53,182 DEBUG DTDEntityResolver:97 - trying to resolve system-id [file:/C:/projects/sample/target/classes/META-INF/content-api-persistence.xml] 17:43:53,244 DEBUG PersistenceXmlLoader:76 - Persistent Unit name from persistence.xml: vet 17:43:53,323 DEBUG PersistenceXmlLoader:76 - Persistent Unit name from persistence.xml: content 17:43:53,323 DEBUG Ejb3Configuration:76 - PersistenceMetadata [ name: vet jtaDataSource: null nonJtaDataSource: null transactionType: RESOURCE_LOCAL provider: null classes[ org.hibernate.test.annotations.id.Cat ] packages[ ] mappingFiles[ META-INF/cat.xml ] jarFiles[ ] hbmfiles: 0 properties[ hibernate.cache.use_query_cache]: false hibernate.connection.driver_class: oracle.jdbc.driver.OracleDriver hibernate.dialect: org.hibernate.dialect.Oracle9Dialect com.intellij.javaee.persistence.datasource: LocalScott hibernate.cache.use_second_level_cache: false hibernate.format_sql: true hibernate.connection.username: scott hibernate.archive.autodetection: false hibernate.connection.url: jdbc:oracle:thin:@server:1521:sid hibernate.bytecode.use_reflection_optimizer: true hibernate.show_sql: true hibernate.connection.password: tiger ]] 17:43:53,338 DEBUG JarVisitor:76 - JAR URL from URL Entry: file:/C:/projects/sample/target/classes/META-INF/persistence.xml >> file:/C:/projects/sample/target/classes 17:43:53,338 DEBUG Ejb3Configuration:97 - Detect class: false; detect hbm: false 17:43:53,338 DEBUG JarVisitor:97 - Searching mapped entities in jar/par: file:/C:/projects/sample/target/classes 17:44:01,089 DEBUG AnnotationConfiguration:97 - Process hbm files 17:44:01,089 DEBUG AnnotationConfiguration:97 - Process annotated classes 17:44:01,089 DEBUG AnnotationConfiguration:97 - processing manytoone fk mappings 17:44:01,089 DEBUG Configuration:97 - processing extends queue 17:44:01,089 DEBUG Configuration:97 - processing collection mappings 17:44:01,089 DEBUG Configuration:97 - processing native query and ResultSetMapping mappings 17:44:01,089 DEBUG Configuration:97 - processing association property references 17:44:01,104 DEBUG Configuration:97 - processing foreign key constraints 17:44:01,104 INFO AnnotationConfiguration:118 - Hibernate Validator not found: ignoring 17:44:01,229 INFO DriverManagerConnectionProvider:118 - Using Hibernate built-in connection pool (not for production use!) 17:44:01,229 INFO DriverManagerConnectionProvider:118 - Hibernate connection pool size: 20 17:44:01,229 INFO DriverManagerConnectionProvider:118 - autocommit mode: true 17:44:01,245 INFO DriverManagerConnectionProvider:118 - using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@server:1521:sid 17:44:01,245 INFO DriverManagerConnectionProvider:118 - connection properties: {user=scott, password=tiger, autocommit=true, release_mode=auto} 17:44:01,245 DEBUG DriverManagerConnectionProvider:76 - total checked-out connections: 0 17:44:01,245 DEBUG DriverManagerConnectionProvider:97 - opening new JDBC connection 17:44:01,870 DEBUG DriverManagerConnectionProvider:97 - created connection to: jdbc:oracle:thin:@server:1521:sid, Isolation Level: 2 17:44:01,886 INFO SettingsFactory:118 - RDBMS: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.4.0 - Production 17:44:01,886 DEBUG DriverManagerConnectionProvider:76 - returning connection to pool, pool size: 1 17:44:01,932 INFO Dialect:118 - Using dialect: org.hibernate.dialect.Oracle9Dialect 17:44:01,948 INFO TransactionFactoryFactory:118 - Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory 17:44:01,948 INFO TransactionManagerLookupFactory:118 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 17:44:01,948 INFO SettingsFactory:118 - Automatic flush during beforeCompletion(): disabled 17:44:01,948 INFO SettingsFactory:118 - Automatic session close at end of transaction: disabled 17:44:01,948 INFO SettingsFactory:118 - JDBC batch size: 15 17:44:01,948 INFO SettingsFactory:118 - JDBC batch updates for versioned data: disabled 17:44:01,948 INFO SettingsFactory:118 - Scrollable result sets: enabled 17:44:01,964 DEBUG SettingsFactory:97 - Wrap result sets: disabled 17:44:01,964 INFO SettingsFactory:118 - JDBC3 getGeneratedKeys(): disabled 17:44:01,964 INFO SettingsFactory:118 - Connection release mode: auto 17:44:01,964 INFO SettingsFactory:118 - Default batch fetch size: 1 17:44:01,964 INFO SettingsFactory:118 - Generate SQL with comments: disabled 17:44:01,964 INFO SettingsFactory:118 - Order SQL updates by primary key: disabled 17:44:01,964 INFO SettingsFactory:118 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 17:44:01,964 INFO ASTQueryTranslatorFactory:118 - Using ASTQueryTranslatorFactory 17:44:01,964 INFO SettingsFactory:118 - Query language substitutions: {} 17:44:01,964 INFO SettingsFactory:118 - JPA-QL strict compliance: enabled 17:44:01,964 INFO SettingsFactory:118 - Second-level cache: disabled 17:44:01,964 INFO SettingsFactory:118 - Query cache: disabled 17:44:01,964 INFO SettingsFactory:118 - Optimize cache for minimal puts: disabled 17:44:01,964 INFO SettingsFactory:118 - Structured second-level cache entries: disabled 17:44:01,979 DEBUG SQLExceptionConverterFactory:76 - Using dialect defined converter 17:44:01,979 INFO SettingsFactory:118 - Echoing all SQL to stdout 17:44:01,979 INFO SettingsFactory:118 - Statistics: disabled 17:44:01,979 INFO SettingsFactory:118 - Deleted entity synthetic identifier rollback: disabled 17:44:01,995 INFO SettingsFactory:118 - Default entity-mode: pojo 17:44:01,995 INFO SettingsFactory:118 - Named query checking : enabled 17:44:02,042 INFO SessionFactoryImpl:118 - building session factory 17:44:02,042 DEBUG SessionFactoryImpl:97 - Session factory constructed with filter configurations : {} 17:44:02,042 DEBUG SessionFactoryImpl:97 - instantiating session factory with properties: {java.vendor=Sun Microsystems Inc., sun.java.launcher=SUN_STANDARD, hibernate.connection.url=jdbc:oracle:thin:@server:1521:sid, sun.management.compiler=HotSpot Client Compiler, hibernate.ejb.discard_pc_on_close=false, hibernate.transaction.flush_before_completion=false, os.name=Windows XP, hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=org.hibernate.dialect.Oracle9Dialect, java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, hibernate.archive.autodetection=false, , hibernate.cache.use_second_level_cache=false, file.encoding=windows-1252, hibernate.use_identifier_rollback=false, java.specification.version=1.5, hibernate.show_sql=true} 17:44:02,464 DEBUG AbstractEntityPersister:97 - Static SQL for entity: org.hibernate.test.annotations.id.Cat 17:44:02,464 DEBUG AbstractEntityPersister:97 - Version select: select CAT_ID from CAT where CAT_ID =? 17:44:02,464 DEBUG AbstractEntityPersister:97 - Snapshot select: select cat_.CAT_ID, cat_.NAME as NAME0_ from CAT cat_ where cat_.CAT_ID=? 17:44:02,464 DEBUG AbstractEntityPersister:97 - Insert 0: insert into CAT (NAME, CAT_ID) values (?, ?) 17:44:02,464 DEBUG AbstractEntityPersister:97 - Update 0: update CAT set NAME=? where CAT_ID=? 17:44:02,464 DEBUG AbstractEntityPersister:97 - Delete 0: delete from CAT where CAT_ID=? 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? for update 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? for update nowait 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? for update nowait 17:44:02,573 DEBUG EntityLoader:97 - Static select for action ACTION_MERGE on entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,573 DEBUG EntityLoader:97 - Static select for action ACTION_REFRESH on entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,573 DEBUG SessionFactoryObjectFactory:97 - initializing class SessionFactoryObjectFactory 17:44:02,573 DEBUG SessionFactoryObjectFactory:97 - registered: 4028801b1308c9b0011308c9b28d0000 (unnamed) 17:44:02,573 INFO SessionFactoryObjectFactory:118 - Not binding factory to JNDI, no JNDI name configured 17:44:02,573 DEBUG SessionFactoryImpl:97 - instantiated session factory 17:44:02,573 DEBUG SessionFactoryImpl:97 - Checking 0 named HQL queries 17:44:02,573 DEBUG SessionFactoryImpl:97 - Checking 0 named SQL queries 17:44:02,667 DEBUG SessionImpl:97 - opened session at timestamp: 11812634426 17:44:02,667 DEBUG JDBCTransaction:97 - begin 17:44:02,667 DEBUG ConnectionManager:97 - opening JDBC connection 17:44:02,667 DEBUG DriverManagerConnectionProvider:76 - total checked-out connections: 0 17:44:02,667 DEBUG DriverManagerConnectionProvider:76 - using pooled JDBC connection, pool size: 0 17:44:02,667 DEBUG JDBCTransaction:97 - current autocommit status: true 17:44:02,667 DEBUG JDBCTransaction:97 - disabling autocommit 17:44:02,667 DEBUG JDBCContext:76 - after transaction begin 17:44:02,682 DEBUG IdentifierValue:76 - id unsaved-value strategy UNDEFINED 17:44:02,682 DEBUG AbstractSaveEventListener:76 - transient instance of: org.hibernate.test.annotations.id.Cat 17:44:02,682 DEBUG DefaultPersistEventListener:76 - saving transient instance 17:44:02,682 DEBUG AbstractSaveEventListener:97 - generated identifier: 0, using strategy: org.hibernate.id.Assigned 17:44:02,682 DEBUG AbstractSaveEventListener:76 - saving [org.hibernate.test.annotations.id.Cat#0] 17:44:02,698 DEBUG IdentifierValue:76 - id unsaved-value strategy UNDEFINED 17:44:02,698 DEBUG AbstractSaveEventListener:76 - transient instance of: org.hibernate.test.annotations.id.Cat 17:44:02,698 DEBUG DefaultPersistEventListener:76 - saving transient instance 17:44:02,698 DEBUG AbstractSaveEventListener:97 - generated identifier: 0, using strategy: org.hibernate.id.Assigned 17:44:02,698 DEBUG AbstractSaveEventListener:76 - saving [org.hibernate.test.annotations.id.Cat#0] 17:44:02,698 DEBUG AbstractEntityManagerImpl:97 - mark transaction for rollback javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:219) at org.hibernate.test.annotations.id.VetTest.createCat(VetTest.java:34) 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:585) at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:645) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:479) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:715) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.runWorkers(TestRunner.java:673) at org.testng.TestRunner.privateRun(TestRunner.java:620) at org.testng.TestRunner.run(TestRunner.java:480) at org.testng.SuiteRunner.runTest(SuiteRunner.java:278) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:273) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:253) at org.testng.SuiteRunner.run(SuiteRunner.java:168) at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:987) at org.testng.TestNG.runSuitesLocally(TestNG.java:951) at org.testng.TestNG.run(TestNG.java:719) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:122) 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:585) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90) Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0] at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:168) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49) at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38) at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213) ... 27 more 17:44:02,698 INFO SessionFactoryImpl:118 - closing 17:44:02,714 INFO DriverManagerConnectionProvider:118 - cleaning up connection pool: jdbc:oracle:thin:@server:1521:sid =============================================== Custom suite Total tests run: 1, Failures: 1, Skips: 0 =============================================== Process finished with exit code 0

    Hibernate JIRA | 10 years ago | Chandra
    javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0]
  2. 0

    We have id defined in a MappedSuperclass (Base) and derrived entity class (Cat). We specify table-generator in an xml file (cat.xml) and use attribute override for ID column. testMappedSuperClassWithTableGenerator in org.hibernate.test.annotations.id.IdTest class fails. If we inline mapped super class with Entity then the test cases succeeds. With attached debugger we noticed that the TableGenerator is attached to in the begining when the class is in the process of mapping. However, at later point it get overridden by org.hibernate.id.Assigned. The output with oracle db is, 17:43:51,651 INFO Version:118 - Hibernate Annotations 3.3.0.GA 17:43:51,682 INFO Environment:118 - Hibernate 3.2.4.sp1 17:43:51,697 INFO Environment:118 - hibernate.properties not found 17:43:51,697 INFO Environment:118 - Bytecode provider name : cglib 17:43:51,713 INFO Environment:118 - using JDK 1.4 java.sql.Timestamp handling 17:43:51,869 INFO Version:118 - Hibernate EntityManager 3.3.1.GA 17:43:51,916 DEBUG Ejb3Configuration:97 - Look up for persistence unit: vet 17:43:51,916 DEBUG Ejb3Configuration:76 - Analyse of persistence.xml: file:/C:/projects/sample/target/classes/META-INF/persistence.xml 17:43:52,963 DEBUG DTDEntityResolver:97 - trying to resolve system-id [file:/C:/projects/sample/target/classes/META-INF/xsd/persistence_1_0.xsd] 17:43:52,963 DEBUG EJB3DTDEntityResolver:97 - recognized EJB3 ORM namespace; attempting to resolve on classpath under org/hibernate/ejb 17:43:52,963 DEBUG EJB3DTDEntityResolver:97 - located [file:/C:/projects/sample/target/classes/META-INF/xsd/persistence_1_0.xsd] in classpath 17:43:53,119 DEBUG DTDEntityResolver:97 - trying to resolve system-id [file:/C:/projects/sample/target/classes/META-INF/vets-persistence.xml] 17:43:53,182 DEBUG DTDEntityResolver:97 - trying to resolve system-id [file:/C:/projects/sample/target/classes/META-INF/content-api-persistence.xml] 17:43:53,244 DEBUG PersistenceXmlLoader:76 - Persistent Unit name from persistence.xml: vet 17:43:53,323 DEBUG PersistenceXmlLoader:76 - Persistent Unit name from persistence.xml: content 17:43:53,323 DEBUG Ejb3Configuration:76 - PersistenceMetadata [ name: vet jtaDataSource: null nonJtaDataSource: null transactionType: RESOURCE_LOCAL provider: null classes[ org.hibernate.test.annotations.id.Cat ] packages[ ] mappingFiles[ META-INF/cat.xml ] jarFiles[ ] hbmfiles: 0 properties[ hibernate.cache.use_query_cache]: false hibernate.connection.driver_class: oracle.jdbc.driver.OracleDriver hibernate.dialect: org.hibernate.dialect.Oracle9Dialect com.intellij.javaee.persistence.datasource: LocalScott hibernate.cache.use_second_level_cache: false hibernate.format_sql: true hibernate.connection.username: scott hibernate.archive.autodetection: false hibernate.connection.url: jdbc:oracle:thin:@server:1521:sid hibernate.bytecode.use_reflection_optimizer: true hibernate.show_sql: true hibernate.connection.password: tiger ]] 17:43:53,338 DEBUG JarVisitor:76 - JAR URL from URL Entry: file:/C:/projects/sample/target/classes/META-INF/persistence.xml >> file:/C:/projects/sample/target/classes 17:43:53,338 DEBUG Ejb3Configuration:97 - Detect class: false; detect hbm: false 17:43:53,338 DEBUG JarVisitor:97 - Searching mapped entities in jar/par: file:/C:/projects/sample/target/classes 17:44:01,089 DEBUG AnnotationConfiguration:97 - Process hbm files 17:44:01,089 DEBUG AnnotationConfiguration:97 - Process annotated classes 17:44:01,089 DEBUG AnnotationConfiguration:97 - processing manytoone fk mappings 17:44:01,089 DEBUG Configuration:97 - processing extends queue 17:44:01,089 DEBUG Configuration:97 - processing collection mappings 17:44:01,089 DEBUG Configuration:97 - processing native query and ResultSetMapping mappings 17:44:01,089 DEBUG Configuration:97 - processing association property references 17:44:01,104 DEBUG Configuration:97 - processing foreign key constraints 17:44:01,104 INFO AnnotationConfiguration:118 - Hibernate Validator not found: ignoring 17:44:01,229 INFO DriverManagerConnectionProvider:118 - Using Hibernate built-in connection pool (not for production use!) 17:44:01,229 INFO DriverManagerConnectionProvider:118 - Hibernate connection pool size: 20 17:44:01,229 INFO DriverManagerConnectionProvider:118 - autocommit mode: true 17:44:01,245 INFO DriverManagerConnectionProvider:118 - using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@server:1521:sid 17:44:01,245 INFO DriverManagerConnectionProvider:118 - connection properties: {user=scott, password=tiger, autocommit=true, release_mode=auto} 17:44:01,245 DEBUG DriverManagerConnectionProvider:76 - total checked-out connections: 0 17:44:01,245 DEBUG DriverManagerConnectionProvider:97 - opening new JDBC connection 17:44:01,870 DEBUG DriverManagerConnectionProvider:97 - created connection to: jdbc:oracle:thin:@server:1521:sid, Isolation Level: 2 17:44:01,886 INFO SettingsFactory:118 - RDBMS: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.4.0 - Production 17:44:01,886 DEBUG DriverManagerConnectionProvider:76 - returning connection to pool, pool size: 1 17:44:01,932 INFO Dialect:118 - Using dialect: org.hibernate.dialect.Oracle9Dialect 17:44:01,948 INFO TransactionFactoryFactory:118 - Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory 17:44:01,948 INFO TransactionManagerLookupFactory:118 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 17:44:01,948 INFO SettingsFactory:118 - Automatic flush during beforeCompletion(): disabled 17:44:01,948 INFO SettingsFactory:118 - Automatic session close at end of transaction: disabled 17:44:01,948 INFO SettingsFactory:118 - JDBC batch size: 15 17:44:01,948 INFO SettingsFactory:118 - JDBC batch updates for versioned data: disabled 17:44:01,948 INFO SettingsFactory:118 - Scrollable result sets: enabled 17:44:01,964 DEBUG SettingsFactory:97 - Wrap result sets: disabled 17:44:01,964 INFO SettingsFactory:118 - JDBC3 getGeneratedKeys(): disabled 17:44:01,964 INFO SettingsFactory:118 - Connection release mode: auto 17:44:01,964 INFO SettingsFactory:118 - Default batch fetch size: 1 17:44:01,964 INFO SettingsFactory:118 - Generate SQL with comments: disabled 17:44:01,964 INFO SettingsFactory:118 - Order SQL updates by primary key: disabled 17:44:01,964 INFO SettingsFactory:118 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 17:44:01,964 INFO ASTQueryTranslatorFactory:118 - Using ASTQueryTranslatorFactory 17:44:01,964 INFO SettingsFactory:118 - Query language substitutions: {} 17:44:01,964 INFO SettingsFactory:118 - JPA-QL strict compliance: enabled 17:44:01,964 INFO SettingsFactory:118 - Second-level cache: disabled 17:44:01,964 INFO SettingsFactory:118 - Query cache: disabled 17:44:01,964 INFO SettingsFactory:118 - Optimize cache for minimal puts: disabled 17:44:01,964 INFO SettingsFactory:118 - Structured second-level cache entries: disabled 17:44:01,979 DEBUG SQLExceptionConverterFactory:76 - Using dialect defined converter 17:44:01,979 INFO SettingsFactory:118 - Echoing all SQL to stdout 17:44:01,979 INFO SettingsFactory:118 - Statistics: disabled 17:44:01,979 INFO SettingsFactory:118 - Deleted entity synthetic identifier rollback: disabled 17:44:01,995 INFO SettingsFactory:118 - Default entity-mode: pojo 17:44:01,995 INFO SettingsFactory:118 - Named query checking : enabled 17:44:02,042 INFO SessionFactoryImpl:118 - building session factory 17:44:02,042 DEBUG SessionFactoryImpl:97 - Session factory constructed with filter configurations : {} 17:44:02,042 DEBUG SessionFactoryImpl:97 - instantiating session factory with properties: {java.vendor=Sun Microsystems Inc., sun.java.launcher=SUN_STANDARD, hibernate.connection.url=jdbc:oracle:thin:@server:1521:sid, sun.management.compiler=HotSpot Client Compiler, hibernate.ejb.discard_pc_on_close=false, hibernate.transaction.flush_before_completion=false, os.name=Windows XP, hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=org.hibernate.dialect.Oracle9Dialect, java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, hibernate.archive.autodetection=false, , hibernate.cache.use_second_level_cache=false, file.encoding=windows-1252, hibernate.use_identifier_rollback=false, java.specification.version=1.5, hibernate.show_sql=true} 17:44:02,464 DEBUG AbstractEntityPersister:97 - Static SQL for entity: org.hibernate.test.annotations.id.Cat 17:44:02,464 DEBUG AbstractEntityPersister:97 - Version select: select CAT_ID from CAT where CAT_ID =? 17:44:02,464 DEBUG AbstractEntityPersister:97 - Snapshot select: select cat_.CAT_ID, cat_.NAME as NAME0_ from CAT cat_ where cat_.CAT_ID=? 17:44:02,464 DEBUG AbstractEntityPersister:97 - Insert 0: insert into CAT (NAME, CAT_ID) values (?, ?) 17:44:02,464 DEBUG AbstractEntityPersister:97 - Update 0: update CAT set NAME=? where CAT_ID=? 17:44:02,464 DEBUG AbstractEntityPersister:97 - Delete 0: delete from CAT where CAT_ID=? 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? for update 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? for update nowait 17:44:02,557 DEBUG EntityLoader:97 - Static select for entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? for update nowait 17:44:02,573 DEBUG EntityLoader:97 - Static select for action ACTION_MERGE on entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,573 DEBUG EntityLoader:97 - Static select for action ACTION_REFRESH on entity org.hibernate.test.annotations.id.Cat: select cat0_.CAT_ID as CAT1_0_0_, cat0_.NAME as NAME0_0_ from CAT cat0_ where cat0_.CAT_ID=? 17:44:02,573 DEBUG SessionFactoryObjectFactory:97 - initializing class SessionFactoryObjectFactory 17:44:02,573 DEBUG SessionFactoryObjectFactory:97 - registered: 4028801b1308c9b0011308c9b28d0000 (unnamed) 17:44:02,573 INFO SessionFactoryObjectFactory:118 - Not binding factory to JNDI, no JNDI name configured 17:44:02,573 DEBUG SessionFactoryImpl:97 - instantiated session factory 17:44:02,573 DEBUG SessionFactoryImpl:97 - Checking 0 named HQL queries 17:44:02,573 DEBUG SessionFactoryImpl:97 - Checking 0 named SQL queries 17:44:02,667 DEBUG SessionImpl:97 - opened session at timestamp: 11812634426 17:44:02,667 DEBUG JDBCTransaction:97 - begin 17:44:02,667 DEBUG ConnectionManager:97 - opening JDBC connection 17:44:02,667 DEBUG DriverManagerConnectionProvider:76 - total checked-out connections: 0 17:44:02,667 DEBUG DriverManagerConnectionProvider:76 - using pooled JDBC connection, pool size: 0 17:44:02,667 DEBUG JDBCTransaction:97 - current autocommit status: true 17:44:02,667 DEBUG JDBCTransaction:97 - disabling autocommit 17:44:02,667 DEBUG JDBCContext:76 - after transaction begin 17:44:02,682 DEBUG IdentifierValue:76 - id unsaved-value strategy UNDEFINED 17:44:02,682 DEBUG AbstractSaveEventListener:76 - transient instance of: org.hibernate.test.annotations.id.Cat 17:44:02,682 DEBUG DefaultPersistEventListener:76 - saving transient instance 17:44:02,682 DEBUG AbstractSaveEventListener:97 - generated identifier: 0, using strategy: org.hibernate.id.Assigned 17:44:02,682 DEBUG AbstractSaveEventListener:76 - saving [org.hibernate.test.annotations.id.Cat#0] 17:44:02,698 DEBUG IdentifierValue:76 - id unsaved-value strategy UNDEFINED 17:44:02,698 DEBUG AbstractSaveEventListener:76 - transient instance of: org.hibernate.test.annotations.id.Cat 17:44:02,698 DEBUG DefaultPersistEventListener:76 - saving transient instance 17:44:02,698 DEBUG AbstractSaveEventListener:97 - generated identifier: 0, using strategy: org.hibernate.id.Assigned 17:44:02,698 DEBUG AbstractSaveEventListener:76 - saving [org.hibernate.test.annotations.id.Cat#0] 17:44:02,698 DEBUG AbstractEntityManagerImpl:97 - mark transaction for rollback javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:219) at org.hibernate.test.annotations.id.VetTest.createCat(VetTest.java:34) 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:585) at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:645) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:479) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:715) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.runWorkers(TestRunner.java:673) at org.testng.TestRunner.privateRun(TestRunner.java:620) at org.testng.TestRunner.run(TestRunner.java:480) at org.testng.SuiteRunner.runTest(SuiteRunner.java:278) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:273) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:253) at org.testng.SuiteRunner.run(SuiteRunner.java:168) at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:987) at org.testng.TestNG.runSuitesLocally(TestNG.java:951) at org.testng.TestNG.run(TestNG.java:719) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:122) 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:585) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90) Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0] at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:168) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49) at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38) at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213) ... 27 more 17:44:02,698 INFO SessionFactoryImpl:118 - closing 17:44:02,714 INFO DriverManagerConnectionProvider:118 - cleaning up connection pool: jdbc:oracle:thin:@server:1521:sid =============================================== Custom suite Total tests run: 1, Failures: 1, Skips: 0 =============================================== Process finished with exit code 0

    Hibernate JIRA | 10 years ago | Chandra
    javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0]
  3. Speed up your debug routine!

    Automated exception search integrated into your IDE

  4. 0

    Persistence exception during a new resource's creation

    GitHub | 2 years ago | GoogleCodeExporter
    javax.persistence.PersistenceException: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.syncope.core.persistence.beans.SchemaMapping#7]
  5. 0

    NonUniqueObjectException

    manning.com | 11 months ago
    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.oxman.entity.Student#0]

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.hibernate.NonUniqueObjectException

      a different object with the same identifier value was already associated with the session: [org.hibernate.test.annotations.id.Cat#0]

      at org.hibernate.event.def.AbstractSaveEventListener.performSave()
    2. Hibernate
      AbstractSaveEventListener.saveWithGeneratedId
      1. org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:168)
      2. org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
      2 frames
    3. Hibernate EJB
      EJB3PersistEventListener.saveWithGeneratedId
      1. org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
      1 frame
    4. Hibernate
      SessionImpl.persist
      1. org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
      2. org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
      3. org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
      4. org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
      5. org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
      6. org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
      6 frames
    5. Hibernate EJB
      AbstractEntityManagerImpl.persist
      1. org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213)
      1 frame
    6. org.hibernate.test
      VetTest.createCat
      1. org.hibernate.test.annotations.id.VetTest.createCat(VetTest.java:34)
      1 frame
    7. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:585)
      4 frames
    8. TestNG
      RemoteTestNG.main
      1. org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:645)
      2. org.testng.internal.Invoker.invokeTestMethod(Invoker.java:479)
      3. org.testng.internal.Invoker.invokeTestMethods(Invoker.java:715)
      4. org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
      5. org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
      6. org.testng.TestRunner.runWorkers(TestRunner.java:673)
      7. org.testng.TestRunner.privateRun(TestRunner.java:620)
      8. org.testng.TestRunner.run(TestRunner.java:480)
      9. org.testng.SuiteRunner.runTest(SuiteRunner.java:278)
      10. org.testng.SuiteRunner.runSequentially(SuiteRunner.java:273)
      11. org.testng.SuiteRunner.privateRun(SuiteRunner.java:253)
      12. org.testng.SuiteRunner.run(SuiteRunner.java:168)
      13. org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:987)
      14. org.testng.TestNG.runSuitesLocally(TestNG.java:951)
      15. org.testng.TestNG.run(TestNG.java:719)
      16. org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
      17. org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:122)
      17 frames
    9. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:585)
      4 frames
    10. IDEA
      AppMain.main
      1. com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
      1 frame