We are in sleep mode update mode from version 3.6 to 4.1.9, and I encountered an error
[# | 2013-01-14T18: 33: 46,519 + 0530 | INFO | glassfish3.1.1 | javax.enterprise.system.std.com.sun.enterprise.server.logging | _ThreadID = 122; _ThreadName = threaded 3; | 2013-01-14 18: 33: 46,518 [http-thread-pool-8080 (5)] ERROR envId {} - sesId {} - com.spmsoftware.webframework.exception.ExceptionHandlerUtil [31] - Managed exception! org.hibernate.AssertionFailure: getGeneratedKeys () support is not included at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.checkAutoGeneratedKeysSupportEnabled (StatementPreparerImpl.java:93) ~ [hibernate-core..9.9.ar. .Final] at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement (StatementPreparerImpl.java:112) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.id .SequenceIdentityGenerator $ Delegate.prepare (SequenceIdentityGenerator.java:106) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.id.insert.AbstractReturningDelegate.performInsert (AbstractReturnavaDleg 55) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.persister.entity.AbstractEntityPersister.insert (AbstractEntityPersister.java:2936) ~ [hibernate-core-4.1.9 .Final.jar: 4.1.9.Final] at org.hibernate.persister.entity.AbstractEntityPersister.insert (AbstractEntityPersister.javahaps447) ~ [hi bernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.action.internal.EntityIdentityInsertAction.execute (EntityIdentityInsertAction.java:81) ~ [hibernate-core-4.1.9.Final.jar : 4.1.9.Final] at org.hibernate.engine.spi.ActionQueue.execute (ActionQueue.java{62) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate .engine.spi.ActionQueue.addResolvedEntityInsertAction (ActionQueue.java:203) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] on org.hibernate.engine.spi.ActionQueue.addInsertAction (ActionQueue. java: 183) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] on org.hibernate.engine.spi.ActionQueue.addAction (ActionQueue.java:167) ~ [hibernate-core-4.1 .9.Final.jar: 4.1.9.Final] at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction (AbstractSaveEventListener.javahaps20) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9. Final] at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate (AbstractSaveEventListener. java: 287) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] on org.hibernate.event.internal.AbstractSaveEventListener.performSave (AbstractSaveEventListener.java:193) ~ [hibernate-core-4.1 .9.Final.jar: 4.1.9.Final] at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId (AbstractSaveEventListener.java:126) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9. Final] on org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId (EJB3PersistEventListener.java:78) ~ [hibernate-entitymanager-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.event.internal. DefaultPersistEventListener.entityIsTransient (DefaultPersistEventListener.java:208) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.event.internal.DefaultPersistEventListener.onPersist (DefaultPersistEventListener. ~ 151) [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.event.internal.DefaultPersistEventListener.onPersist (DefaultPersistEventListener.java:78) ~ [hiber nate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.internal.SessionImpl.firePersist (SessionImpl.java:843) ~ [hibernate-core-4.1.9.Final.jar: 4.1 .9.Final] on org.hibernate.internal.SessionImpl.persist (SessionImpl.java:818) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] on org.hibernate.internal.SessionImpl .persist (SessionImpl.java:822) ~ [hibernate-core-4.1.9.Final.jar: 4.1.9.Final] at org.hibernate.ejb.AbstractEntityManagerImpl.persist (AbstractEntityManagerImpl.java:865) ~ [hibernate- entitymanager-4.1.9.Final.jar: 4.1.9.Final]
This error occurs when I try to save a sleep object that has the following definition
@Entity @Table(name = "ACCESS") @GenericGenerator(name = "auth-generator", strategy = "sequence-identity", parameters = @org.hibernate.annotations.Parameter(name = "sequence", value = "ACCESS_SEQ")) public class Access implements Identifiable { private Long id; @Id @GeneratedValue(generator = "auth-generator") @Column(name = "ROW_IDENTIFIER", nullable = false) public Long getId() { return id; } }
When comparing the source code for hibernation mode for 3.6, I saw that when creating a prepared statement for hibernation mode, the SequenceIdentityGenerator does NOT check "hibernate.jdbc.use_get_generated_keys" (AbstractBatcher - 506), but for version 4.1.9 it does (StatementPreparerImpl - 112).
In this regard, our application does not work when updating. Any idea what the reason for this change is?
Andy dufresne
source share