I put your orm.xml in the same directory as persistence.xml (in META-INF). The PCEnhancer works just fine.
-Fay
--- On Sun, 3/30/08, Lars Vogel <[EMAIL PROTECTED]> wrote:
From: Lars Vogel <[EMAIL PROTECTED]> Subject: Could not locate metadata (orm.xml) To: users@openjpa.apache.org Date: Sunday, March 30, 2008, 11:29 AM
Hi,
Can anyone point me to a working standalone example there a a orm.xml file 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>
Best regards, Lars |
You rock. That's why Blockbuster's offering you
one month of Blockbuster Total Access, No Cost.