


I am trying to create a simple CMP entity bean (no relationships or anything)
that will access an existing table in an Oracle database.
I've used the "capture-schema" tool and it generated a ".dbschema" file.
I've got this .dbschema in the Jar file for the entity bean.
My Home class defines a methodpublic Collection findByType(int type) throws ...;
So I have a "remote finder method" defined for my entity bean for which I have the EB-QL
"select distinct object(x) from Table1 as x where x.itype = ?1"
When I try to deploy, I get an error
JDO75313: Identifier 'Table1' does not denote an abstract schema'
-
What am I doing wrong? What have I ommitted?
Information provided in the .dbschema file which is packaged as part of the ejb.jar contains database metadata used for mapping and execution.This is different than the error you receive during deployment while trying to parse the EJB QL query.EJB QL uses abstract persistence schemas of entity beans for its data model. For CMP 2.0 entity beans, abstract schema names are specified in the abstract-schema-name element in the deployment descriptor for the EJB to denote entity bean abstract schema types in EJB-QL.
It appears as though you are missing this in your deployment desriptor or if you have one defined, the query needs to reflect it.
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Table1</abstract-schema-name>
If you have something other than Table1 here, change the query to:
Select Distinct Object(x) From SOMETHINGELSE AS x where x.type = ?1
