views:

57

answers:

2

I am getting following exception while i try to execute simple jpa code. What may be the casue?

5453  DevPQRWDPBSSPersist  WARN   [P=351601:O=0:CT] openjpa.Enhance - This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: "[class com.XYZ.PQR.bss.client.db.data.markerentry, class com.XYZ.PQR.bss.client.db.data.Serviceproduct, class com.XYZ.PQR.bss.client.db.data.Agreementterms, class com.XYZ.PQR.bss.client.db.data.Offeringattribute, class com.XYZ.PQR.bss.client.db.data.marker, class com.XYZ.PQR.bss.client.db.data.OfferingpriceadjustmentrelPK, class com.XYZ.PQR.bss.client.db.data.Serviceoffering, class com.XYZ.PQR.bss.client.db.data.Offeringassociation, class com.XYZ.PQR.bss.client.db.data.OfferingpriceserviceofferingrelPK, class com.XYZ.PQR.bss.client.db.data.Offer, class com.XYZ.PQR.bss.client.db.data.Offeringpriceadjustmentrel, class com.XYZ.PQR.bss.client.db.data.Offeringfamily, class com.XYZ.PQR.bss.client.db.data.Offeringpriceserviceofferingrel, class com.XYZ.PQR.bss.client.db.data.Serviceproductattribute, class com.XYZ.PQR.bss.client.db.data.Offeringprice, class com.XYZ.PQR.bss.client.db.data.Agreement]".
6563  DevPQRWDPBSSPersist  TRACE  [P=351601:O=0:CT] openjpa.jdbc.SQL - <t 1183336072, conn 944453707> executing prepstmnt 152307988 SELECT so.* from DB2INST1.SERVICEOFFERING so where so.ISDELETED = 0 and so.id in (select oa.SERVICEOFFERINGID from DB2INST1.OFFERINGATTRIBUTE oa where oa.SERVICEOFFERINGID = so.id AND oa.name = ? and oa.STRINGVALUE = ? and oa.ISDELETED = 0) [params=(String) productbundleid, (String) attrValue]
7281  DevPQRWDPBSSPersist  TRACE  [P=351601:O=0:CT] openjpa.jdbc.SQL - <t 1183336072, conn 944453707> [718 ms] spent
Exception in thread "P=351601:O=0:CT" <openjpa-1.2.1-SNAPSHOT-r422266:686069 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter "SELECT OBJECT(attr) FROM Offeringattribute attr WHERE attr.serviceofferingid IN (:OfferingIds) AND attr.isdeleted = 0". Error message: The name "Offeringattribute" is not a recognized entity or identifier. Known entity names: []
 at org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.parseException(AbstractExpressionBuilder.java:118)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:180)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:150)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:225)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:195)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:188)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$600(JPQLExpressionBuilder.java:69)
 at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:1756)
 at org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:56)
 at org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:153)
 at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:658)
 at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:639)
 at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:605)
 at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:667)
 at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1492)
 at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
 at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:243)
 at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:293)
 at com.XYZ.PQR.bss.client.offering.impl.OfferingServiceImpl.getOfferingsByStringAttribute(OfferingServiceImpl.java:661)
 at com.XYZ.PQR.bss.marker.impl.testAks.testAPI(testAks.java:38)
 at com.XYZ.PQR.bss.marker.impl.testAks.main(testAks.java:24)

    <properties>

<property name="openjpa.ConnectionDriverName" value="com.XYZ.db2.jcc.DB2Driver"/>
   <property name="openjpa.ConnectionURL" value="jdbc:db2://xyz.com:50000/ABC"/>
   <property name="openjpa.ConnectionUserName" value="usr"/>
   <property name="openjpa.ConnectionPassword" value="pwd"/>
   <property name="openjpa.jdbc.Schema" value="sch123"/>
    <property name="openjpa.Log" value="SQL=TRACE" />

</properties>
A: 

Read this very carefuly http://openjpa.apache.org/build-and-runtime-dependencies.html

You have to add geronimo-* libraries to Your project, if it is stand-alone application.

iddqd
i had used the same kind of code to connect to some other database .But am having problem in connecting to this one.Both Databse are DB2.
akp
is there some problem with persistent.xml.I have pased the configuration of persistent.xml in original post
akp
First of all use Derby instead of db2 for testing. If you familiar with maven follow this tutorial http://log.illsley.org/2010/05/15/openjpa-derby-and-getting-started-fast/.
iddqd
actually am new to project of my company.The project uses JPA and i have to modify existing cod.No other developer is familiar with JPA and i have 1 day deadline.Actually app JPA apis are developed i need to use those APIs, but those apis are not working i guess some issue with configurations.Looking worward to your help
akp
I'd have to have your whole environment to help you.
iddqd
+1  A: 

The first line of the trace warns you that your entities were not enhanced at build time or at class load time with a javaagent.

And while my understanding is that running the enhancer is not is not strictly required, the following part of the trace is still an hint that OpenJPA is not aware of any entity:

Error message: The name "Offeringattribute" is not a recognized entity or identifier. Known entity names: []

It looks like that something went wrong and/or that OpenJPA didn't use any of the fallback mechanisms. Look for a previous warning in the logs. Or setup build time enhancement.

The following resources might help:

Pascal Thivent