Hi,
does anybody knows, what the reason for this is:
Caused by: java.lang.ClassCastException: org.apache.openjpa.util.Id
incompatible with org.apache.openjpa.util.IntId
at
com.mycompany.myproduct.ejb.entities.EntitySuperclass.pcCopyKeyFieldsFromObjectId(EntitySuperclass.java)
at
com.mycompany.myproduct.ejb.entities.EntityClass.pcNewInstance(EntityClass.java)
at
org.apache.openjpa.enhance.PCRegistry.newInstance(PCRegistry.java:121)
at
org.apache.openjpa.kernel.StateManagerImpl.initialize(StateManagerImpl.java:253)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:330)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:255)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:844)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:802)
... 99 more
(full exception dump below)
The requested JP query (see also stacktrace below) is "select o from User
o where o.userName = ?1 and o.password = ?2". You find the entity class
User below.
I'm using WebSphere 6.1.0.19 with OpenJPA as EJB3 provider.
best regards and thanks in advance
Stepahn Koops
-------------------------------< entity class user
>----------------------------------------
package com.mycompany.myproduct.ejb.entities;
import ...
@Entity
@Table(schema = "myproduct", name = "benutzer", uniqueConstraints =
[EMAIL PROTECTED](columnNames = {"benutzername"})})
public class User implements Persistent {
private static final long serialVersionUID =
-6505202942252735251L;
@Id
@GeneratedValue
private Long id;
@OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE },
fetch = FetchType.EAGER)
@JoinColumn(nullable = false)
private Mitarbeiter mitarbeiter;
@Column(name = "benutzername", nullable = false)
private String userName;
@Column(name = "passwort", nullable = false)
private String password;
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE },
fetch = FetchType.EAGER)
private Set<Role> roles = new HashSet<Role>();
public User() {}
/**
* @param mitarbeiter
* @param userName
* @param password
*/
public User(Mitarbeiter mitarbeiter, String userName, String
password) {
super();
this.mitarbeiter = mitarbeiter;
this.userName = userName;
this.password = password;
}
/**
* @param mitarbeiter
* @param userName
* @param password
* @param roles
*/
public User(Mitarbeiter mitarbeiter, String userName, String
password, Role... roles) {
super();
this.mitarbeiter = mitarbeiter;
this.userName = userName;
this.password = password;
for(Role role : roles) {
this.roles.add(role);
}
}
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the mitarbeiter
*/
public Mitarbeiter getMitarbeiter() {
return mitarbeiter;
}
/**
* @param mitarbeiter the mitarbeiter to set
*/
public void setMitarbeiter(Mitarbeiter mitarbeiter) {
this.mitarbeiter = mitarbeiter;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the roles
*/
public Set<Role> getRoles() {
return roles;
}
/**
* @param roles the roles to set
*/
public void setRoles(Set<Role> roles) {
this.roles = roles;
}
/**
* @return the userName
*/
public String getUserName() {
return userName;
}
/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}
public boolean equals(Object otherO) {
if(!(otherO instanceof User))
return false;
return Util.equals(this.getId(), ((User)otherO).getId());
}
}
-----------------------------< end of entity class User
>----------------------------------
-------------------------< full log dump by WebSphere
>----------------------
------Start of DE processing------ = [29.09.08 18:46:11:453 CEST] , key =
org.apache.openjpa.persistence.PersistenceException
com.ibm.ejs.container.BusinessExceptionMappingStrategy.setUncheckedException
506
Exception = org.apache.openjpa.persistence.PersistenceException
Source =
com.ibm.ejs.container.BusinessExceptionMappingStrategy.setUncheckedException
probeid = 506
Stack Dump = <openjpa-1.0.3-SNAPSHOT-r420667:649224 nonfatal general
error> org.apache.openjpa.persistence.PersistenceException:
org.apache.openjpa.util.Id incompatible with org.apache.openjpa.util.IntId
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:825)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:724)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:776)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:257)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2168)
at
org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.loadEagerJoin(RelationFieldStrategy.java:510)
at
org.apache.openjpa.jdbc.meta.FieldMapping.loadEagerJoin(FieldMapping.java:790)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:825)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:785)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:336)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:255)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:844)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:802)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:724)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:776)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:257)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2168)
at
org.apache.openjpa.jdbc.meta.strats.RelationToManyInverseKeyFieldStrategy.loadElement(RelationToManyInverseKeyFieldStrategy.java:87)
at
org.apache.openjpa.jdbc.meta.strats.RelationCollectionInverseKeyFieldStrategy.loadElement(RelationCollectionInverseKeyFieldStrategy.java:76)
at
org.apache.openjpa.jdbc.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:479)
at
org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:802)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:485)
at
org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
at
org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
at
org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2886)
at
org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:360)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:812)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:724)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:776)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:257)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2168)
at
org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.loadEagerJoin(RelationFieldStrategy.java:510)
at
org.apache.openjpa.jdbc.meta.FieldMapping.loadEagerJoin(FieldMapping.java:790)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:825)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:785)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:336)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:255)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:844)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:802)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:724)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:776)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:257)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2168)
at
org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.loadEagerJoin(RelationFieldStrategy.java:510)
at
org.apache.openjpa.jdbc.meta.FieldMapping.loadEagerJoin(FieldMapping.java:790)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:825)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:785)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:336)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:255)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:844)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:802)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:724)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:776)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:257)
at
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2168)
at
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:251)
at
org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59)
at
org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1289)
at
org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1216)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:799)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:769)
at
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:533)
at
org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:235)
at
org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:300)
at
com.mycompany.myproduct.ejb.session.PersistenceServiceBean.findPersistent(PersistenceServiceBean.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at
com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:547)
at
com.mycompany.myproduct.ejb.interceptor.PersistenceInterceptor.interceptPersistenceAction(PersistenceInterceptor.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at
com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:227)
at
com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:526)
at
com.ibm.ejs.container.interceptors.InvocationContextImpl.doAroundInvoke(InvocationContextImpl.java:184)
at
com.ibm.ejs.container.EJSContainer.invoke(EJSContainer.java:5545)
at
com.mycompany.myproduct.ejb.ejbInterfaces.EJSLocal0SLPersistenceServiceBean_2a6dfad6.findPersistent(EJSLocal0SLPersistenceServiceBean_2a6dfad6.java)
at
com.mycompany.myproduct.ejb.session.SessionFacadeBean.findPersistent(SessionFacadeBean.java:77)
at
com.mycompany.myproduct.ejb.ejbInterfaces.EJSRemote0SLSessionFacadeBean_4b075f78.findPersistent(EJSRemote0SLSessionFacadeBean_4b075f78.java)
at
com.mycompany.myproduct.ejb.ejbInterfaces._EJSRemote0SLSessionFacadeBean_4b075f78_Tie.findPersistent(_EJSRemote0SLSessionFacadeBean_4b075f78_Tie.java)
at
com.mycompany.myproduct.ejb.ejbInterfaces._EJSRemote0SLSessionFacadeBean_4b075f78_Tie._invoke(_EJSRemote0SLSessionFacadeBean_4b075f78_Tie.java)
at
com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:621)
at
com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:474)
at com.ibm.rmi.iiop.ORB.process(ORB.java:503)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1571)
at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2701)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2575)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:62)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by: java.lang.ClassCastException: org.apache.openjpa.util.Id
incompatible with org.apache.openjpa.util.IntId
at
com.mycompany.myproduct.ejb.entities.EntitySuperclass.pcCopyKeyFieldsFromObjectId(EntitySuperclass.java)
at
com.mycompany.myproduct.ejb.entities.EntityClass.pcNewInstance(EntityClass.java)
at
org.apache.openjpa.enhance.PCRegistry.newInstance(PCRegistry.java:121)
at
org.apache.openjpa.kernel.StateManagerImpl.initialize(StateManagerImpl.java:253)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:330)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:255)
at
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
at
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
at
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:844)
at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:802)
... 99 more
Dump of callerThis =
Object type = com.ibm.ejs.container.BusinessExceptionMappingStrategy
[EMAIL PROTECTED]
==> Performing default dump from
com.ibm.ejs.container.EJBContainerDiagnosticModule = Mon Sep 29 18:46:11
CEST 2008
+Data for directive [defaultbindingsmaps] obtained. =
>EJB DM: Object array. = null
Dump of EJBContainer Internals =
Object type = com.ibm.ejs.container.EJSContainer
[EMAIL PROTECTED]
+Data for directive [default] obtained. =
Dump of ComponentMetaData =
*** START ComponentMetaData fields ***
J2EEName =
MyProduct_EAP_(Websphere)#MyProduct_EAP_EJB_Module.jar#PersistenceServiceBean
EJB Type = STATELESS_SESSION
TX Type = CONTAINER_MANAGED_TX
Module Version = 30
******* ResRefList *******
ResRefList size=0
****** LOCAL-TRANSACTION *******
Boundary=BEAN_METHOD
Resolver=APPLICATION
UnResolvedAction=ROLLBACK
*** END ComponentMetaData fields ***
+Data for directive [defaultcomponentmetadata] obtained. =
Dump of EJBMethodInfo from EJSDeployedSupport =
*** START EJBMethodInfoImpl fields ***
method signature =
findPersistent:java.lang.Class,com.we4it.util.Entry[]
Method index = 8
TX attribute = TX_REQUIRED
AS attribute = AS_UNKNOWN
CMP 1.x Isolation Level = TRANSACTION_NONE
CMP 1.x access intent(read-only attribute) = false
JDI signature =
(Ljava/lang/Class;[Lcom/we4it/util/Entry;)Ljava/lang/Object;
*** Security Policy Information ***
DenyAll = false
PermitAll = false
RolesAllowed = null
*** END EJBMethodInfoImpl fields ***
+Data for directive [defaultejbmethodinfo] obtained. =
Dump of ContainerTx =
*** Start ContainerTx Dump ---> [EMAIL PROTECTED]
Tx Key =
[EMAIL PROTECTED]
State = Active
Entered beforCompletion = false
Marked Rollback Only = false
Method Began = false
Isolation Level = TRANSACTION_NONE
Callback BeanO =
StatelessBeanO(BeanId(MyProduct_EAP_(Websphere)#MyProduct_EAP_EJB_Module.jar#PersistenceServiceBean,
null), state = IN_METHOD)
--- Dump of Enlisted Beans : 0 ----------------------
--- Dump of Access Intents : 0 ----------------------
*** ContainerTx Dump Complete ---> [EMAIL PROTECTED]
+Data for directive [defaultcontainertx] obtained. =
==> Dump complete for com.ibm.ejs.container.EJBContainerDiagnosticModule =
Mon Sep 29 18:46:11 CEST 2008
-----------------------< end of log dump by WebSphere
>--------------------
Mit freundlichen Grüßen / Best regards
We4IT GmbH
Stephan Koops
-----------------------------------------------------------------------------------------------------------------------------------------------------
We4IT GmbH
Haferwende 3a
28357 Bremen
Tel.: +49 421-98973-24
Fax: +49 421-98973-01
E-Mail: [EMAIL PROTECTED]
Internet: http://www.we4it.com
HRB 20740, Amtsgericht Bremen
Geschäftsführer: Stefan Sucker, Vicente Diaz Fernandez
USt.-ID.-Nr. DE 220 859 831
------------------------------------------------------------------------------------------------------------------------------------------------------
Diese Nachricht ist vertraulich und ausschließlich für die adressierte
Person und/oder Organisation bestimmt. Vertrauliche und/oder spezifische
Informationen können hierin enthalten sein. Falls Sie ein nicht
beabsichtigter Empfänger dieser Nachricht sind, sind das Kopieren,
Verteilen und/oder das Aufnehmen aus dem Inhalt resultierender Handlungen
untersagt. Haben Sie diese Nachricht fehlerhaft und/oder unvollständig
erhalten, benachrichtigen Sie uns bitte umgehend unter unseren oben
genannten Kontaktmöglichkeiten.
This message is confidential and intended solely for the person or
organization to which it is addressed. It may contain privileged and
confidential information. If you are not the intended recipient, you
should not copy, distribute or take any action on reliance on it. If you
have received this transmission in error, please notify us immediately by
e-mail at the above address.