[jboss-user] [EJB 3.0] - [ClassCastException] problem with merge() for abstract entit

jtonic do-not-reply at jboss.com
Wed Oct 4 10:05:34 EDT 2006


Hi 

I have the following hierarchy of entities
MedicalPersonnel (abstract class) (InheritanceType.JOINED)
    >--- Nurse (concret class)
    >--- Physician (concrett class)
and relation
MedicalPersonnel (OneToMany) MedicalDoc

When I've tried 

MedicalPersonnel mp;
/* get a persisted and detached instance of MedicalPersonnel and assign  with mp */
mp = em.merge(mp); //ClassCastException

What can I do against this?

Thx in advance, jtonic.

Error StackTrace:

Exception in thread "main" javax.ejb.EJBException: java.lang.ClassCastException: ro.iqbyte.arhimed.model.core.common.entities.adm.Nurse
	at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:227)
	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
	at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
Caused by: java.lang.ClassCastException: ro.iqbyte.arhimed.model.core.common.entities.adm.Nurse
	at org.hibernate.type.LongType.set(LongType.java:42)
	at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:83)
	at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:65)
	at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514)
	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576)
	at org.hibernate.loader.Loader.doQuery(Loader.java:661)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
	at org.hibernate.loader.entity.EntityLoader.loadByUniqueKey(EntityLoader.java:85)
	at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:1565)
	at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:365)
	at org.hibernate.type.EntityType.resolve(EntityType.java:306)
	at org.hibernate.type.EntityType.replace(EntityType.java:207)
	at org.hibernate.type.TypeFactory.replace(TypeFactory.java:431)
	at org.hibernate.event.def.DefaultMergeEventListener.copyValues(DefaultMergeEventListener.java:282)
	at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:246)
	at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:99)
	at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:51)
	at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:679)
	at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:663)
	at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:667)
	at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:201)
	at org.jboss.ejb3.entity.TransactionScopedEntityManager.merge(TransactionScopedEntityManager.java:181)
	at com.titan.services.TitanServiceBean.visitNurse(TitanServiceBean.java:122)
	at com.titan.services.TitanServiceBean.visitMedicalPersonnel(TitanServiceBean.java:116)
	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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:227)
	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
	at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
	at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:190)
	at org.jboss.remoting.Client.invoke(Client.java:525)
	at org.jboss.remoting.Client.invoke(Client.java:488)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:41)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:46)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:40)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:78)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
	at $Proxy0.visitMedicalPersonnel(Unknown Source)
	at ro.iqbyte.arhimed.model.teste.Main.visitMedicalPersonnel(Main.java:196)
	at ro.iqbyte.arhimed.model.teste.Main.main(Main.java:71)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3976025#3976025

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3976025



More information about the jboss-user mailing list