[jboss-user] [EJB 3.0] - ClassCastException persist
CarstenRudat
do-not-reply at jboss.com
Wed Feb 14 11:18:30 EST 2007
Hi All,
I have a problem, I cannot understand...
I have two entites in a OneToOne-relationship:
| public class Konto ...
|
| @Id
| @GeneratedValue(strategy=GenerationType.TABLE, generator = "my_generator")
| @Column(name = "id")
| public java.lang.Long getId() {
| return this.id;
| }
|
| @OneToOne(cascade = {CascadeType.PERSIST,
| CascadeType.MERGE}, fetch = FetchType.EAGER)
| @JoinColumns({
| @JoinColumn(name="loanDecPxy_id_fk",
| referencedColumnName="id")
| })
| public LoanDecisionPxy getLoanDecisionPxy() {
| return this.loanDecisionPxy;
| }
|
| public void setLoanDecisionPxy(LoanDecisionPxy loanDecisionPxy) {
| this.loanDecisionPxy = loanDecisionPxy;
| }
| ...
| }
|
|
| and
|
|
| public class LoanDecisionPxy ...
|
| @OneToOne(mappedBy="loanDecisionPxy")
| public Konto getKonto() {
| return this.konto;
| }
|
| public void setKonto(Konto konto) {
| this.konto = konto;
| }
| ...
| }
|
When i persist a "Konto" with a given "LoanDecisionPxy", which was persisted too, I get the following error (when the method ends and the transaction should be committed):
| java.lang.reflect.InvocationTargetException
| 17:08:33,500 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| 17:08:33,500 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| 17:08:33,500 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 17:08:33,500 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 17:08:33,500 ERROR [STDERR] at com.genloop.session.base.SessionBase.createAction(SessionBase.java:2504)
| 17:08:33,500 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| 17:08:33,516 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| 17:08:33,516 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 17:08:33,516 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.stateful.SessionSynchronizationInterceptor.invoke(SessionSynchronizationInterceptor.java:142)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| 17:08:33,516 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| 17:08:33,516 ERROR [STDERR] Caused by: java.lang.ClassCastException: de.hanseatic.baufi.unterlagenmgmt.LoanDecisionPxy
| 17:08:33,516 ERROR [STDERR] at org.hibernate.type.LongType.set(LongType.java:42)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:83)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:65)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1513)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1575)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.loader.Loader.doQuery(Loader.java:661)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
| 17:08:33,516 ERROR [STDERR] at org.hibernate.loader.Loader.loadEntity(Loader.java:1784)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.loader.entity.EntityLoader.loadByUniqueKey(EntityLoader.java:85)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:1581)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:365)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.type.EntityType.resolve(EntityType.java:306)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.type.EntityType.replace(EntityType.java:207)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.type.TypeFactory.replace(TypeFactory.java:437)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.event.def.DefaultMergeEventListener.copyValues(DefaultMergeEventListener.java:340)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:267)
| 17:08:33,531 ERROR [STDERR] at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:120)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:687)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:669)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.CascadingAction$6.cascade(CascadingAction.java:245)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.event.def.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:390)
| 17:08:33,547 ERROR [STDERR] at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:266)
|
I debugged the whole thing and I saw in "OneToOneType (extends EntityType)" the property "uniqueKeyPropertyName" for my "Konto" was set to "loanDecisionPxy". I didn't do that (see above).
What can I do?
I use JBoss 4.0.5.GA with build in Hibernate 3.2.GA.
Thanks for help.
Carsten
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4016439#4016439
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4016439
More information about the jboss-user
mailing list