[jboss-jira] [JBoss JIRA] (WFWIP-51) java.lang.AbstractMethodError: org.hibernate.test.cut.MonetoryAmountUserType.nullSafeSet(Ljava/sql/PreparedStatement; Ljava/lang/Object; ILorg/hibernate/engine/spi/SharedSessionContractImplementor; )V
Gail Badner (JIRA)
issues at jboss.org
Mon Jun 18 14:36:00 EDT 2018
[ https://issues.jboss.org/browse/WFWIP-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13592878#comment-13592878 ]
Gail Badner commented on WFWIP-51:
----------------------------------
[~simkam], the {{org.hibernate.type}} package was intentionally not included when we were looking into binary incompatibilities because the classes contained in that package are considered SPIs that applications can extend. Since they are SPIs, we don't need to ensure binary compatibility.
That said, I understand it is a very commonly used feature, so I'll look into the feasibility of making that package binary compatible.
> java.lang.AbstractMethodError: org.hibernate.test.cut.MonetoryAmountUserType.nullSafeSet(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFWIP-51
> URL: https://issues.jboss.org/browse/WFWIP-51
> Project: WildFly WIP
> Issue Type: Bug
> Components: JPA
> Reporter: Martin Simka
> Assignee: Gail Badner
> Priority: Blocker
> Attachments: App.java
>
>
> Test from Hibernate test suite CompositeUserTypeTest.testCompositeUserType(compiled with 5.1.x and run 5.3.2-SNAPSHOT) throws
> {noformat}
> java.lang.AbstractMethodError: org.hibernate.test.cut.MonetoryAmountUserType.nullSafeSet(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
> at org.hibernate.type.CompositeCustomType.nullSafeSet(CompositeCustomType.java:236)
> at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2833)
> at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2808)
> at org.hibernate.persister.entity.AbstractEntityPersister$4.bindValues(AbstractEntityPersister.java:3029)
> at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:41)
> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3037)
> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3628)
> at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
> at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645)
> at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282)
> at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263)
> at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317)
> at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:359)
> at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:292)
> at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:200)
> at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:131)
> at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:192)
> at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:135)
> at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:62)
> at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:800)
> at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:785)
> at org.hibernate.test.cut.CompositeUserTypeTest.testCompositeUserType(CompositeUserTypeTest.java:47)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:45)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
> {noformat}
> Scenario is something like:
> {code:java}
> CompositeUserType t = new CompositeUserType(){ ...};
> CompositeCustomType cct = new CompositeCustomType(t);
> cct.nullSafeSet(preparedStatement, "value", 1, sessionImplementor);
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list