cancel
Showing results for 
Search instead for 
Did you mean: 

JDO not persistence capable

Former Member
0 Kudos

I have implemented getting started with JDO example but I am getting following errors continuously:


javax.jdo.JDOUserException: Object not PersistenceCapable.
FailedObject:com.test.jdo.Department@d1f7fe
	at com.sap.jdo.common.PersistenceManagerImpl.assertPersistenceCapable(PersistenceManagerImpl.java:1788)
	at com.sap.jdo.common.PersistenceManagerImpl.makePersistentInternal(PersistenceManagerImpl.java:1845)
	at com.sap.jdo.common.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:763)
	at com.sap.jdo.jca.cci.SAPJDOConnection.makePersistent(SAPJDOConnection.java:278)
	at com.test.jdo.BusinessLogic.createDepartment(BusinessLogic.java:49)
	at com.test.web.ProcessInput.doGet(ProcessInput.java:35)
	at com.test.web.ProcessInput.doPost(ProcessInput.java:86)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
	at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
	at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
	at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
	at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
	at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
	at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

I have also run the JDO enhance and check commands using build.xml, but problem still persists. Can any body tell me whether it is possible to implement javax.jdo.spi.PersistenceCapable interface?

Regards,

Jawed Ali

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

read my second comment

Former Member
0 Kudos

I have fixed the issues by doing following addtional step:

I have added another jar file in classpath to run ant targets.

[code]<property name="exceptions" value="$/com.sap.exception_2.0.0/lib/exception.jar"/>

....

....

....

<property name="classpath" value="$;$;$;$;$"/>[/code]

Make sure when you run build.xml you get following output because when the ant targets executed they return successful message in both cases whether it performed it task correctly or not.

[code]enhance:

enhance.Employee:

[java] done.

enhance.Department:

[java] done.

check:

check.Employee:

[java] ... catalog path: TestJDODictionary/gen_ddic/dbtables/

[java] com.test.jdo.Employee: check for PC class passed

[java] => 1 PC class(es) checked (0 failed), 0 non PC class(es) not checked

check.Department:

[java] ... catalog path: TestJDODictionary/gen_ddic/dbtables/

[java] com.test.jdo.Department: check for PC class passed

[java] => 1 PC class(es) checked (0 failed), 0 non PC class(es) not checked[/code]