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> > >