Hi,

I believe that I am having the same problem as Praveen. I am also getting
the message "
406 simplewineTour WARN [main] openjpa.Enhance - Type "class
com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety" has no
metadata; enhancing as persistence aware."

for all of the classes in my ormap.xml file when I run PCEnhancer manually
from eclipse. If I change the PU to specify classes instead of the ormap.xml,
enhancement goes fine. This seemed to start with revision 536001 which I
picked up on 5/9/2007 and has continued since. If I go to an earlier
openjpa-all-0.9.8-incubating-SNAPSHOT.jar, enhancing using the
ormap.xmlworks. Also at that time I was able to replace
PCEnhancer.java with revision 532805 and after a maven rebuild, enhancement
using the ormap.xml file worked. Now under the 1.0.0-snapshot, that revision
is not available.

The persistence.xml and simpleWineTourXmlOrMap.xml files are in directory
jpa.MyWineSample/bin/META-INF where jpa.MyWineSample is my project name.
15  simplewineTour  TRACE  [main] openjpa.Runtime - Setting the following 
properties from 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/persistence.xml"
 into configuration: 
{openjpa.jdbc.SynchronizeMappings=buildSchema(ForeignKeys=true), 
openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver, 
openjpa.MetaDataFactory=jpa(Resources=META-INF/simpleWineTourXmlOrMap.xml), 
openjpa.jdbc.DBDictionary=db2(StoreCharsAsNumbers=true), 
openjpa.Id=simplewineTour, openjpa.Log=DefaultLevel=TRACE, 
openjpa.ConnectionPassword=g1h0ngell, 
openjpa.ConnectionURL=jdbc:db2://localhost:50000/dbclnt, 
openjpa.ConnectionUserName=georgeh}
62  simplewineTour  INFO   [main] openjpa.Tool - No targets were given.  
Running on all classes in your persistent classes list, or all metadata files 
in classpath directories if you have not listed your persistent classes.  Use 
-help to display tool usage information.
78  simplewineTour  TRACE  [main] openjpa.MetaData - Scanning resource 
"META-INF/simpleWineTourXmlOrMap.xml" for persistent types.
93  simplewineTour  TRACE  [main] openjpa.MetaData - Scan of 
"META-INF/simpleWineTourXmlOrMap.xml" found persistent types 
[Ljava.lang.String;@28b028b0.
93  simplewineTour  TRACE  [main] openjpa.MetaData - Mapping resource location 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml"
 to persistent types "[com.ibm.websphere.sample.jpawinetour.simple.xml.Address, 
com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety, 
com.ibm.websphere.sample.jpawinetour.simple.xml.Wine, 
com.ibm.websphere.sample.jpawinetour.simple.xml.Winery, 
com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel]".
93  simplewineTour  TRACE  [main] openjpa.MetaData - Scanning resource 
"META-INF/orm.xml" for persistent types.
93  simplewineTour  TRACE  [main] openjpa.MetaData - parsePersistentTypeNames() 
found [com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety, 
com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel, 
com.ibm.websphere.sample.jpawinetour.simple.xml.Wine, 
com.ibm.websphere.sample.jpawinetour.simple.xml.Address, 
com.ibm.websphere.sample.jpawinetour.simple.xml.Winery].
93  simplewineTour  TRACE  [main] openjpa.MetaData - Found 5 classes with 
metadata in 31 milliseconds.
93  simplewineTour  TRACE  [main] openjpa.Tool - Enhancer running on type 
"com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety".
171  simplewineTour  TRACE  [main] openjpa.MetaData - Loading metadata for 
"class com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety" under mode 
"[META]".
203  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing resource 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml".
312  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
312  simplewineTour  TRACE  [main] openjpa.MetaData - Generating default 
metadata for type "com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
328  simplewineTour  TRACE  [main] openjpa.MetaData - Using reflection for 
metadata generation.
343  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
343  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing package 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
359  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety".
359  simplewineTour  TRACE  [main] openjpa.MetaData - Generating default 
metadata for type 
"com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety".
359  simplewineTour  TRACE  [main] openjpa.MetaData - Using reflection for 
metadata generation.
359  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety".
359  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Wine".
359  simplewineTour  TRACE  [main] openjpa.MetaData - Generating default 
metadata for type "com.ibm.websphere.sample.jpawinetour.simple.xml.Wine".
359  simplewineTour  TRACE  [main] openjpa.MetaData - Using reflection for 
metadata generation.
375  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Wine".
375  simplewineTour  TRACE  [main] openjpa.MetaData - Generating default 
metadata for type "com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
375  simplewineTour  TRACE  [main] openjpa.MetaData - Using reflection for 
metadata generation.
375  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Winery".
375  simplewineTour  TRACE  [main] openjpa.MetaData - Generating default 
metadata for type "com.ibm.websphere.sample.jpawinetour.simple.xml.Winery".
375  simplewineTour  TRACE  [main] openjpa.MetaData - Using reflection for 
metadata generation.
390  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Winery".
390  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
406  simplewineTour  TRACE  [main] openjpa.MetaData - Generating default 
metadata for type "com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
406  simplewineTour  TRACE  [main] openjpa.MetaData - Using reflection for 
metadata generation.
406  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
406  simplewineTour  TRACE  [main] openjpa.MetaData - Finished parsing metadata 
resource 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml".
406  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety".
406  simplewineTour  TRACE  [main] openjpa.Enhance - Enhancing type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety".
406  simplewineTour  WARN   [main] openjpa.Enhance - Type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety" has no metadata; 
enhancing as persistence aware. If you intended for "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety" to be 
persistence-capable, then this means that OpenJPA could not find any metadata 
for "class com.ibm.websphere.sample.jpawinetour.simple.xml.GrapeVariety". This 
can happen if the directory containing your metadata is not in your CLASSPATH, 
or if your metadata files are not named properly. See the documentation on 
metadata placement for more information.
406  simplewineTour  TRACE  [main] openjpa.Tool - The class does not have 
metadata - enhanced as persistence-aware.
421  simplewineTour  TRACE  [main] openjpa.Tool - Enhancer running on type 
"com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
453  simplewineTour  TRACE  [main] openjpa.MetaData - Loading metadata for 
"class com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel" under mode 
"[META]".
453  simplewineTour  TRACE  [main] openjpa.MetaData - Skipping resource 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml";
 it was parsed previously.
453  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
453  simplewineTour  TRACE  [main] openjpa.Enhance - Enhancing type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel".
468  simplewineTour  WARN   [main] openjpa.Enhance - Type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel" has no metadata; 
enhancing as persistence aware. If you intended for "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel" to be 
persistence-capable, then this means that OpenJPA could not find any metadata 
for "class com.ibm.websphere.sample.jpawinetour.simple.xml.WineLabel". This can 
happen if the directory containing your metadata is not in your CLASSPATH, or 
if your metadata files are not named properly. See the documentation on 
metadata placement for more information.
468  simplewineTour  TRACE  [main] openjpa.Tool - The class does not have 
metadata - enhanced as persistence-aware.
484  simplewineTour  TRACE  [main] openjpa.Tool - Enhancer running on type 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Wine".
500  simplewineTour  TRACE  [main] openjpa.MetaData - Loading metadata for 
"class com.ibm.websphere.sample.jpawinetour.simple.xml.Wine" under mode 
"[META]".
500  simplewineTour  TRACE  [main] openjpa.MetaData - Skipping resource 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml";
 it was parsed previously.
500  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Wine".
500  simplewineTour  TRACE  [main] openjpa.Enhance - Enhancing type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Wine".
515  simplewineTour  WARN   [main] openjpa.Enhance - Type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Wine" has no metadata; 
enhancing as persistence aware. If you intended for "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Wine" to be 
persistence-capable, then this means that OpenJPA could not find any metadata 
for "class com.ibm.websphere.sample.jpawinetour.simple.xml.Wine". This can 
happen if the directory containing your metadata is not in your CLASSPATH, or 
if your metadata files are not named properly. See the documentation on 
metadata placement for more information.
515  simplewineTour  TRACE  [main] openjpa.Tool - The class does not have 
metadata - enhanced as persistence-aware.
546  simplewineTour  TRACE  [main] openjpa.Tool - Enhancer running on type 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
546  simplewineTour  TRACE  [main] openjpa.MetaData - Loading metadata for 
"class com.ibm.websphere.sample.jpawinetour.simple.xml.Address" under mode 
"[META]".
546  simplewineTour  TRACE  [main] openjpa.MetaData - Skipping resource 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml";
 it was parsed previously.
546  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
546  simplewineTour  TRACE  [main] openjpa.Enhance - Enhancing type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Address".
562  simplewineTour  WARN   [main] openjpa.Enhance - Type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Address" has no metadata; 
enhancing as persistence aware. If you intended for "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Address" to be 
persistence-capable, then this means that OpenJPA could not find any metadata 
for "class com.ibm.websphere.sample.jpawinetour.simple.xml.Address". This can 
happen if the directory containing your metadata is not in your CLASSPATH, or 
if your metadata files are not named properly. See the documentation on 
metadata placement for more information.
562  simplewineTour  TRACE  [main] openjpa.Tool - The class does not have 
metadata - enhanced as persistence-aware.
562  simplewineTour  TRACE  [main] openjpa.Tool - Enhancer running on type 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Winery".
578  simplewineTour  TRACE  [main] openjpa.MetaData - Loading metadata for 
"class com.ibm.websphere.sample.jpawinetour.simple.xml.Winery" under mode 
"[META]".
578  simplewineTour  TRACE  [main] openjpa.MetaData - Skipping resource 
"file:/C:/apacheEclipse3.2/openjpa_svn_regression/workspace/jpa.MyWineSample/bin/META-INF/simpleWineTourXmlOrMap.xml";
 it was parsed previously.
578  simplewineTour  TRACE  [main] openjpa.MetaData - Parsing class 
"com.ibm.websphere.sample.jpawinetour.simple.xml.Winery".
578  simplewineTour  TRACE  [main] openjpa.Enhance - Enhancing type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Winery".
578  simplewineTour  WARN   [main] openjpa.Enhance - Type "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Winery" has no metadata; 
enhancing as persistence aware. If you intended for "class 
com.ibm.websphere.sample.jpawinetour.simple.xml.Winery" to be 
persistence-capable, then this means that OpenJPA could not find any metadata 
for "class com.ibm.websphere.sample.jpawinetour.simple.xml.Winery". This can 
happen if the directory containing your metadata is not in your CLASSPATH, or 
if your metadata files are not named properly. See the documentation on 
metadata placement for more information.
578  simplewineTour  TRACE  [main] openjpa.Tool - The class does not have 
metadata - enhanced as persistence-aware.
<?xml version="1.0"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd";
    version="1.0">


    <persistence-unit name="simplewineTour" >
<!--    <persistence-unit name="simplewineTour" transaction-type="RESOURCE_LOCAL">-->
<!--
            <schema>TESTER</schema>
            <provider>
            org.apache.openjpa.persistence.PersistenceProviderImpl
            </provider>
-->


<!--
        <mapping-file>META-INF/simpleWineTourXmlOrMap.xml</mapping-file>
-->
        <mapping-file>META-INF/simpleWineTourXmlOrMap.xml</mapping-file>

<!--
 	    <class>com.ibm.websphere.sample.jpawinetour.simple.ano.Address</class> 
 	    <class>com.ibm.websphere.sample.jpawinetour.simple.ano.GrapeVariety</class> 
 	    <class>com.ibm.websphere.sample.jpawinetour.simple.ano.Wine</class> 
 	    <class>com.ibm.websphere.sample.jpawinetour.simple.ano.WineLabel</class> 
 	    <class>com.ibm.websphere.sample.jpawinetour.simple.ano.Winery</class> 
-->
 	    


        <properties>

<!-- derby embedded (default) -->

<!-- derby embedded (default) -->
<!--
<property name="openjpa.ConnectionUserName" value="xxx"/>
<property name="openjpa.ConnectionPassword" value="yyy"/>
<property name="openjpa.ConnectionURL" value="jdbc:derby:target/mdd-test-database;create=true"/>
<property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
-->

<!-- udb2 type 2-->
<!--
                value="db2(StoreCharsAsNumbers=false)"/>
-->
<!--
-->
            <property name="openjpa.jdbc.DBDictionary"
                value="db2(StoreCharsAsNumbers=true)"/>
<property name="openjpa.ConnectionDriverName" value="com.ibm.db2.jcc.DB2Driver"/>
<property name="openjpa.ConnectionURL" value="jdbc:db2://localhost:50000/dbclnt"/>
<property name="openjpa.ConnectionUserName" value="georgeh"/>
<property name="openjpa.ConnectionPassword" value="g1h0ngell"/>


<!-- oracle 10 good-->
<!--
<property name="openjpa.ConnectionUserName" value="user2"/>
<property name="openjpa.ConnectionPassword" value="tvforau2"/>
<property name="openjpa.ConnectionURL" value="jdbc:oracle:thin:@fvtdb03.rtp.raleigh.ibm.com:1521:orcl"/>
<property name="openjpa.ConnectionDriverName" value="oracle.jdbc.driver.OracleDriver"/>
-->



			<property name="openjpa.jdbc.SynchronizeMappings"
					value="buildSchema(ForeignKeys=true)" />
<!--			<property name="openjpa.QueryCache" value="false" />-->
				

<!--			
			<property name="openjpa.Log" value="DefaultLevel=INFO" />
			<property name="openjpa.Log" value="Enhance=TRACE,Query=TRACE,SQL=TRACE" />
			<property name="openjpa.Log" value="SQL=TRACE" />
			<property name="openjpa.Log" value="DefaultLevel=TRACE" />
            <property name="openjpa.Log" value="DefaultLevel=ERROR" />
-->
			<property name="openjpa.Log" value="DefaultLevel=TRACE" />
           
       		
<!--			<property name="openjpa.Sequence" -->
<!--				value="table(Table=OPENJPASEQ, Increment=100)"/>-->
			
        </properties>

    </persistence-unit>
    


</persistence>
<?xml version="1.0" encoding="UTF-8"?>
<!-- AtestCatalog metadata in 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/orm orm_1_0.xsd"
version="1.0">
	<package>com.ibm.websphere.sample.jpawinetour.simple.xml</package>
<!--  <schema>TESTER</schema>-->
<!---->
   	<named-query name="findOneWinery">
   		<query>
   			SELECT r FROM Winery r WHERE  r.wineryid = ?1 order by  r.wineryid asc
   		</query>
   	</named-query>
   	<named-query name="findAllWinesForOneWinery">
   		<query>
   			SELECT w    FROM Winery r JOIN  r.winesProduced w   WHERE  r.wineryid = ?1 order by  r.wineryid asc
   		</query>
   	</named-query>
   	<named-native-query name="nativeFindAllWineryColumns">
   		<query>
			SELECT  r.* FROM Winery r WHERE  r.wineryid = ?1 order by  r.wineryid asc
   		</query>
   	</named-native-query>
   	<named-native-query name="nativeFindOneWinery"
   		result-class="Winery">
   		<query>
			SELECT  r.*    FROM Winery r WHERE  r.wineryid = ?1 order by  r.wineryid asc
   		</query>
   	</named-native-query>
   	<named-native-query name="nativeFindOneWinery2"
   		result-set-mapping="WineryMapping">
   		<query>
			SELECT  r.*    FROM Winery r WHERE  r.wineryid = ?1 order by  r.wineryid asc
   		</query>
   	</named-native-query>
   	<named-native-query name="nativeFindOneWine"
   		result-set-mapping="WineMapping">
   		<query>
			SELECT  w.*  FROM  Wine w WHERE  w.wineid = ? order by  w.wineid asc
   		</query>
   	</named-native-query>
   	<named-native-query name="nativeFindAllWinesForOneWinery"
   		result-set-mapping="WineryThenWineMapping">
   		<query>
<!-- all of these work but give different results if entity is detached-->
<!--			SELECT r.WINERYID, r.FIRSTTOURTIME, r.HASRETAILSHOP, r.HASWINETASTING, r.ISSCENIC, r.LASTTOURTIME, r.NAME, r.TOURSEASONENDDATE, r.TOURSEASONSTARTDATE, r.VERSION, r.ADDRESS_PHONE, w.wineid, w.cost, w.rating, w.type, w.description, w.alcoholPercent, w.ava, w.bottler, w.brandName, w.LABELWINECLASS , w.LABELWINECOLOR, w.estateBottled, w.hasSulfites, w.labelid, w.mlContents, w.qualityDesignation, w.vintage, w.vinyardName, w.wineName, w.minimumHoldYears, w.winery_wineryid  FROM Winery r left join Wine w on r.wineryid = w.winery_wineryid WHERE  r.wineryid = ?1 order by  w.wineid asc-->
<!--			SELECT  r.*, w.*  FROM Winery r left join Wine w on r.wineryid = w.winery_wineryid WHERE  r.wineryid = ?1 order by  w.wineid asc-->
			SELECT  r.wineryid, w.wineid  FROM Winery r left join Wine w on r.wineryid = w.winery_wineryid WHERE  r.wineryid = ?1 order by  w.wineid asc
   		</query>
   	</named-native-query>
  
	<sql-result-set-mapping name="WineryMapping">
			<entity-result entity-class="Winery"/>
	</sql-result-set-mapping>
	<sql-result-set-mapping name="WineMapping">
			<entity-result entity-class="Wine"/>
	</sql-result-set-mapping>
	<sql-result-set-mapping name="WineryThenWineMapping">
			<entity-result entity-class="Winery"/>
			<entity-result entity-class="Wine"/>
	</sql-result-set-mapping>
  
    <entity name="Address" class="Address" access="FIELD">
    <table name="wineryAddress"/>
       <attributes>
            <id name="phone">
                <column length="10" />
            </id>
            <basic name="street" fetch="EAGER">
                <column length="40" />
            </basic>
            <basic name="city">
                <column length="20" />
            </basic>
            <basic name="state">
                <column length="20" />
            </basic>
            <basic name="zip">
                <column length="10" />
            </basic>
            <version name="version"/>
        </attributes>
    </entity>
    
  
    <entity name="GrapeVariety" class="GrapeVariety" access="FIELD">
    <table name="WineGrape"/>
       <attributes>
            <id name="name">
                <column name="grapeName" length="40" />
            </id>
<!--            <basic name="characteristics" fetch="EAGER"/>-->
            <basic name="characteristics"/>
            <version name="version"/>
            <many-to-many name="winesMadeFrom" target-entity="Wine" fetch="LAZY" mapped-by="grapesUsed">
	        <!--<join-column name="tid" referenced-column-name="projid" table="tasktab" />-->
            </many-to-many>
        </attributes>
    </entity>
    
    <entity name="Wine" class="Wine" access="FIELD">
    <table name="Wine"/>
       <attributes>
            <id name="wineid">
            </id>
            <basic name="type" fetch="EAGER">
            <enumerated>STRING</enumerated>
            </basic>
            <basic name="cost" fetch="EAGER">
            <enumerated>ORDINAL</enumerated>
            </basic>
            <basic name="rating">
            <enumerated>ORDINAL</enumerated>
            </basic>
            <basic name="minimumHoldYears"/>
            <basic name="description"/>
            <basic name="stockCount"/>
            <version name="version"/>
            <many-to-one name="winery" target-entity="Winery" fetch="EAGER">
            </many-to-one>
            <many-to-many name="grapesUsed" target-entity="GrapeVariety" fetch="LAZY">
            </many-to-many>
            <embedded name="label">
                <attribute-override name="appellation">
                   <column name="ava" length="40"/>
                </attribute-override>
                <attribute-override name="color">
                   <column name="labelWineColor" length="20"/>
                </attribute-override>
			</embedded>
        </attributes>
    </entity>
    
  
    <entity name="Winery" class="Winery" access="FIELD">
    <table name="Winery"/>
       <attributes>
            <id name="wineryid">
            </id>
            <basic name="name">
                <column length="40" />
            </basic>
            <basic name="dateEstablished">
                <column length="4" />
            </basic>
            <basic name="isScenic"/>
            <basic name="hasTours"/>
            <basic name="hasWineTasting"/>
            <basic name="hasRetailShop"/>
            <basic name="comment">
                <column name="winery_comment"/>       
            </basic>
            <version name="version"/>
            <one-to-many name="winesProduced" target-entity="Wine" fetch="LAZY" mapped-by="winery">
            </one-to-many>
            <one-to-one name="address" target-entity="Address" fetch="EAGER">
            </one-to-one>
        </attributes>
    </entity>
  
<!--    <entity name="xxx" class="xxx" access="FIELD">-->
<!--       <attributes>-->
<!--  DEFINE ALL many-to-one relationships first -->
<!-- THEN DEFINE ALL one-to-many relationships -->
<!-- THEN DEFINE ALL one-to-one relationships -->
<!-- DEFINE ALL many-to-many relationships -->
<!-- DEFINE ALL embedded properties -->
<!-- DEFINE ALL transient properties -->
<!--        </attributes>-->
<!--    </entity>-->
    
    <embeddable class="WineLabel" access="FIELD">
        <attributes>
            <basic name="labelid"/>
            <basic name="wineName">
                <column length="40" />
            </basic>
            <basic name="brandName">
                <column length="40" />
            </basic>
            <basic name="appellation"/>
            <basic name="classification">
                <column name="labelWineClass" length="20" />
            	<enumerated>STRING</enumerated>
            </basic>
            <basic name="color">
                <column length="25" />
            	<enumerated>STRING</enumerated>
            </basic>
            <basic name="alcoholPercent"/>
            <basic name="bottler">
                <column length="40" />
            </basic>
            <basic name="mlContents"/>
            <basic name="hasSulfites"/>
            <basic name="vintage">
                <temporal>TIMESTAMP</temporal>
            </basic>
            <basic name="qualityDesignation">
                <column length="40" />
            </basic>
            <basic name="estateBottled"/>
            <basic name="vineyardName">
                <column length="40" />
            </basic>
			<transient name="wineLabelContents"/> 
        </attributes>
    </embeddable>
   
</entity-mappings>

Reply via email to