cancel
Showing results for 
Search instead for 
Did you mean: 

CMP Beans - Database Tables not generated (JavaBean Model)

Former Member
0 Kudos

Hi Group,

in our WebDynpro Application we use the JavaBean Model Approach with EJBs.

We created the CommandBeans in the EJB-Development Component, packed everything in an EAR - and (after days of solving problems with references) it deploys quite fine.

Anfurtunatle there are no DB-Tables created for our Container Managed Beans. What did I oversee?

Thanks for any ideas!

The error in the ADmin-Console (at starting the EAR):

Error occurred on server 8340651 during startApp .../EDILOGEAR : com.sap.engine.services.ejb.exceptions.deployment.ORMappingVerificationException: According to the O/R mapping described in /META-INF/persistent.xml, a CMPBean intends to store its persistent information in table PACKINGLISTHEADEREJBBEAN. Such table does not exist in the database. Create it before trying to start the application.

at com.sap.engine.services.ejb.deploy.orMappingVerifier.CMPEntityVerifier.getCatalogTable(CMPEntityVerifier.java:104)

at com.sap.engine.services.ejb.deploy.orMappingVerifier.CMPEntityVerifier.check(CMPEntityVerifier.java:82)

at com.sap.engine.services.ejb.deploy.orMappingVerifier.AbstractSchemaVerifier.check(AbstractSchemaVerifier.java:90)

at com.sap.engine.services.ejb.EJBAdmin.prepareStart(EJBAdmin.java:2389)

at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:370)

at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:318)

at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:299)

at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:301)

at com.sap.engine.services.deploy.server.application.ParallelAdapter.run(ParallelAdapter.java:73)

at com.sap.engine.frame.core.thread.Task.run(Task.java:60)

at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:74)

at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:140)

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi once again -

after a while of research it seams, that the generation of tables from CMP Entity Beans is at leas not recommended - and also not realy supported

(there is some mysterious tag <create-tables-at-deploy> - but this doesn't seem to work properly)

I'm just wondering, that no one ever tried this -

or could someone maybe just confirm this briefly?

We're generating Dictionary first now..

katarzyna_fecht
Explorer
0 Kudos

Hi Simon,

yes, you are right:

"the generation of tables from CMP Entity Beans is at least not recommended - and also not realy supported"

If at all, one could apply the <create-tables-at-deploy> feature for test purposes only, and it is intended to be rather an exception case, not a rule.

The JDBC data source serving CMP beans has to be set to "Native SQL" (for example you cannot use the system data source).

If you store data in the system database, we recommend to use the Java Dictionary to create tables (prior to running CMP EJB code).

Regards, Katharina

Former Member
0 Kudos

Thanks for the additional info katarzyna!