Hi Lars, I unzip the file and ran it. I was able to run PCEnhancer but failed to execute your Main.java for the following error message:
Exception in thread "main" <openjpa-1.1.0-SNAPSHOT-runknown nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsi ng the query filter "select m from MYAPPLICATION.PEOPLETABLE m". Error message: The name "MYAPPLICATION.PEOPLETABLE" is not a recognized entity or identifier. P erhaps you meant Person, which is a close match. Known entity names: [Person] I then changed your query in Main.java to: Query q = em.createQuery("select m from Person m"); It then works fine. The attached is my run.bat to set classpath, compile entity classes, and run PCEnhancer, and execute Main.java. -Fay ----- Original Message ---- From: Lars Vogel <[EMAIL PROTECTED]> To: users@openjpa.apache.org; [EMAIL PROTECTED] Sent: Monday, March 31, 2008 3:09:14 PM Subject: Re: Could not locate metadata (orm.xml) Hi Fay, yes both are in the same directory. I tried with and without mapping entry in persistence. For reference I attached the content of my source directory. It is a very tiny example If someone wants to test this, please run Main.java. Best regards, Lars 2008/3/31, Fay Wang <[EMAIL PROTECTED]>:Hi Lars, I ran your example as a standalone one. and the PCEnhancer works for me. Here is my persistence.xml: <persistence-unit name="person"> <provider>com.ibm.websphere.persistence.PersistenceProviderImpl</provider> <mapping-file>META-INF/orm.xml</mapping-file> <class>datamodel.Person</class> <properties> <property name="openjpa.jdbc.DBDictionary" value=""/> ... and my orm.xml: <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/ormorm_1_0.xsd" version="1.0"> <entity class="datamodel.Person"> <table name="MYAPPLICATION.PEOPLETABLE"/> <attributes> <id name="id" /> <basic name="firstName" /> <basic name="lastName" /> <transient name="nonsenseField" /> </attributes> </entity> </entity-mappings> They are almost identical as yours. Did you put your orm.xml in the same directory as your persistence.xml? Fay --- On Mon, 3/31/08, Lars Vogel <[EMAIL PROTECTED]> wrote: From: Lars Vogel <[EMAIL PROTECTED]> Subject: Re: Could not locate metadata (orm.xml) To: users@openjpa.apache.org Date: Monday, March 31, 2008, 9:46 AM Hi Fay, I don't get the meaining of your comment. Are you saying my example works for you? Are you running it standalone or inside a web container? Best regards, Lars 2008/3/31, Lars Vogel <[EMAIL PROTECTED]>: > > Hi Adam, > > thank you. If I remove the <mapping-file> I still get the same error. I > change the header to your header but still no difference. I paste the new > version of my files below. > > Both orm.xml and persistence.xml are in the same directory META-INF. > > Any further advice? > -------------- > > <?xml version="1.0" encoding="UTF-8"?> > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" > version="1.0"> > <entity class="datamodel.Person"> > <table name="MYAPPLICATION.PEOPLETABLE"/> > <attributes> > <id name="id" /> > <basic name="firstName" /> > <basic name="lastName" /> > <transient name="nonsenseField" /> > </attributes> > </entity> > </entity-mappings> > > <?xml version="1.0" encoding="UTF-8"?> > --------------- > <persistence xmlns="http://java.sun.com/xml/ns/persistence" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"> > > <persistence-unit name="people" transaction-type="RESOURCE_LOCAL"> > > <provider> > org.apache.openjpa.persistence.PersistenceProviderImpl > </provider> > <mapping-file>META-INF/orm.xml</mapping-file> > > <!-- We must enumerate each entity in the persistence unit --> > <class>datamodel.Person</class> > > <properties> > <property name="openjpa.ConnectionURL" > > value="jdbc:derby:C:/DerbyDatabases/hellojpa-database9;create=true" /> > <property name="openjpa.ConnectionDriverName" > value="org.apache.derby.jdbc.EmbeddedDriver" /> > <property name="openjpa.ConnectionUserName" value="" /> > <property name="openjpa.ConnectionPassword" value="" /> > > <!-- > Automatically create tables in the database > for entities. Not for production use > --> > <property name="openjpa.jdbc.SynchronizeMappings" > value="buildSchema" /> > > </properties> > </persistence-unit> > > </persistence> > > > > > Best regards, Lars > > > 2008/3/31, Adam Hardy <[EMAIL PROTECTED]>: > > > > Hi Lars, > > > > that is a weird error that I haven't seen before - it looks like OpenJPA > > is > > confusing the table name with the class name. > > > > In case it helps, you don't need to reference the orm.xml in the > > persistence.xml. Not sure if it's a problem when you do, try without. > > > > orm.xml looks like it's in the same directory as persistence.xml from > > your > > email. perhaps you should double-check. > > > > my orm.xml header is slightly different: > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm > > > > http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" > > version="1.0"> > > > > I do not run the OpenJPA enhancer and you shouldn't need to, but I am > > using the > > OpenJPA v1.1.0 snapshot, not 1.0.x. > > > > > > > > > > > > Lars Vogel on 30/03/08 19:29, wrote: > > > Hi, > > > > > > Can anyone point me to a working standalone example there a a orm.xmlfile > > > is used instead of Annotations? > > > > > > I'm able to build a small example with annotations but if I try the > > same > > > with orm.xml I receive the following error: > > > > > > Exception in thread "main" <openjpa-1.0.2-r420667:627158 fatal user > > error> > > > org.apache.openjpa.persistence.ArgumentException: Could not locate > > metadata > > > for the class using alias "MYAPPLICATION.PEOPLETABLE". This could mean > > that > > > the OpenJPA enhancer or load-time weaver was not run on the type whose > > alias > > > is "MYAPPLICATION.PEOPLETABLE". Registered alias mappings: "{ > > > MYAPPLICATION.PEOPLETABLE=null, Person=[class datamodel.Person]}" > > > > > > > > > I have the following orm.xml > > > > > > <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > > > xsi:schemaLocation=" > > http://java.sun.com/xml/ns/persistence/ormorm_1_0.xsd" > > > > > version="1.0"> > > > <entity class="datamodel.Person"> > > > <table name="MYAPPLICATION.PEOPLETABLE"/> > > > <attributes> > > > <id name="id" /> > > > <basic name="firstName" /> > > > <basic name="lastName" /> > > > <transient name="nonsenseField" /> > > > </attributes> > > > </entity> > > > </entity-mappings> > > > > > > I have the following persistence.xml > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > <!-- > > > Licensed to the Apache Software Foundation (ASF) under one > > > or more contributor license agreements. See the NOTICE file > > > distributed with this work for additional information > > > regarding copyright ownership. The ASF licenses this file > > > to you under the Apache License, Version 2.0 (the > > > "License"); you may not use this file except in compliance > > > with the License. You may obtain a copy of the License at > > > > > > http://www.apache.org/licenses/LICENSE-2.0 > > > > > > Unless required by applicable law or agreed to in writing, > > > software distributed under the License is distributed on an > > > "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > > KIND, either express or implied. See the License for the > > > specific language governing permissions and limitations > > > under the License. > > > --> > > > <persistence xmlns="http://java.sun.com/xml/ns/persistence" > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0 > > "> > > > > > > <!-- > > > A persistence unit is a set of listed persistent entities as > > well > > > the configuration of an EntityManagerFactory. We configure > > each > > > example in a separate persistence-unit. > > > --> > > > <persistence-unit name="people" transaction-type="RESOURCE_LOCAL"> > > > > > > <!-- > > > The default provider can be OpenJPA, or some other > > product. > > > This element is optional if OpenJPA is the only JPA > > provider > > > in the current classloading environment, but can be > > specified > > > in cases where there are multiple JPA implementations > > available. > > > --> > > > > > > <provider> > > > org.apache.openjpa.persistence.PersistenceProviderImpl > > > </provider> > > > <mapping-file>META-INF/orm.xml</mapping-file> > > > > > > <!-- We must enumerate each entity in the persistence unit --> > > > <class>datamodel.Person</class> > > > > > > <properties> > > > <property name="openjpa.ConnectionURL" > > > > > > value="jdbc:derby:C:/DerbyDatabases/hellojpa-database9;create=true" /> > > > <property name="openjpa.ConnectionDriverName" > > > value="org.apache.derby.jdbc.EmbeddedDriver" /> > > > <property name="openjpa.ConnectionUserName" value="" /> > > > <property name="openjpa.ConnectionPassword" value="" /> > > > > > > <!-- > > > Tell OpenJPA to automatically create tables in the > > database > > > for entities. Note that this should be disabled when > > > running against a production database, since you > > probably > > > don't want to be altering the schema at runtime. > > > --> > > > <property name="openjpa.jdbc.SynchronizeMappings" > > > value="buildSchema" /> > > > > > > </properties> > > > </persistence-unit> > > > > > > </persistence> > > > > > Like movies? Here's a limited-time offer: Blockbuster Total Access for one month at no cost. ____________________________________________________________________________________ Special deal for Yahoo! users & friends - No Cost. Get a month of Blockbuster Total Access now http://tc.deals.yahoo.com/tc/blockbuster/text3.com