<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-rdbms-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN' 'http://www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd'>
<weblogic-rdbms-jar>
    <weblogic-rdbms-bean>
        <ejb-name>AuctionBean</ejb-name>
        <data-source-name>AuctionDataSource</data-source-name>
        <table-map>
            <table-name>AUCTION</table-name>
            <field-map>
                <cmp-field>lowPrice</cmp-field>
                <dbms-column>LOW_PRICE</dbms-column>
            </field-map>
            <field-map>
                <cmp-field>id</cmp-field>
                <dbms-column>AUCTION_ID</dbms-column>
            </field-map>
        </table-map>
        <relationship-caching>
	      <caching-name>Auction-Item</caching-name>

	      <caching-element>
	        <cmr-field>item_cmp</cmr-field>
	      </caching-element>

	      <caching-element>
	        <cmr-field>bids</cmr-field>
	          <caching-element>
	            <cmr-field>buyer_cmp</cmr-field>
	          </caching-element>
	        </caching-element>

	      <caching-element>
	        <cmr-field>seller_cmp</cmr-field>
	      </caching-element>
        </relationship-caching>

        <weblogic-query>
          <query-method>
            <method-name>findAllAuctions</method-name>
            <method-params></method-params>
          </query-method>
          <caching-name>Auction-Item</caching-name>
           </weblogic-query>

          <weblogic-query>
          <query-method>
            <method-name>findByPrimaryKey</method-name>
            <method-params>
                <method-param>java.lang.String
                </method-param>
            </method-params>
          </query-method>
          <caching-name>Auction-Item</caching-name>
	  <sql-select-distinct>True</sql-select-distinct>
        </weblogic-query>

    </weblogic-rdbms-bean>


    <weblogic-rdbms-bean>
        <ejb-name>BidBean</ejb-name>
        <data-source-name>AuctionDataSource</data-source-name>
        <table-map>
            <table-name>BID</table-name>
            <field-map>
                <cmp-field>id</cmp-field>
                <dbms-column>BID_ID</dbms-column>
            </field-map>
            <field-map>
                <cmp-field>amount</cmp-field>
                <dbms-column>AMOUNT</dbms-column>
            </field-map>
            <field-map>
                <cmp-field>maxAmount</cmp-field>
                <dbms-column>MAX_AMOUNT</dbms-column>
            </field-map>
        </table-map>

	<!-- New caching element -->
        <relationship-caching>
	      <caching-name>Bid-User</caching-name>
	        <caching-element>
	              <cmr-field>buyer_cmp</cmr-field>
	        </caching-element>
        </relationship-caching>

        <weblogic-query>
          <query-method>
            <method-name>findHighBidsForAuction</method-name>
            <method-params>
              <method-param>java.lang.String</method-param>
	    </method-params>
          </query-method>
          <caching-name>Bid-User</caching-name>
        </weblogic-query>
    </weblogic-rdbms-bean>


    <weblogic-rdbms-bean>
        <ejb-name>UserBean</ejb-name>
        <data-source-name>AuctionDataSource</data-source-name>
        <table-map>
            <table-name>AUCTION_USER</table-name>
            <field-map>
                <cmp-field>id</cmp-field>
                <dbms-column>USER_ID</dbms-column>
            </field-map>
        </table-map>

	<!-- New caching element -->
        <relationship-caching>
	      <caching-name>Auction-Item</caching-name>
	      <caching-element>
	        <cmr-field>auctions</cmr-field>
	        <caching-element>
	          <cmr-field>item_cmp</cmr-field>
		</caching-element>
	      </caching-element>
        </relationship-caching>

	<!-- New weblogic-query -->
          <weblogic-query>
          <query-method>
            <method-name>findByPrimaryKey</method-name>
            <method-params>
                <method-param>java.lang.String
                </method-param>
            </method-params>
          </query-method>
          <caching-name>Auction-Item</caching-name>
        </weblogic-query>
    </weblogic-rdbms-bean>


    <weblogic-rdbms-bean>
        <ejb-name>ItemBean</ejb-name>
        <data-source-name>AuctionDataSource</data-source-name>
        <table-map>
            <table-name>ITEM</table-name>
            <field-map>
                <cmp-field>id</cmp-field>
                <dbms-column>ITEM_ID</dbms-column>
            </field-map>
            <field-map>
                <cmp-field>itemName</cmp-field>
                <dbms-column>ITEM_NAME</dbms-column>
            </field-map>
            <field-map>
                <cmp-field>graphicFilename</cmp-field>
                <dbms-column>GRAPHIC_FILENAME</dbms-column>
            </field-map>
            <field-map>
                <cmp-field>description</cmp-field>
                <dbms-column>DESCRIPTION</dbms-column>
            </field-map>
        </table-map>

    </weblogic-rdbms-bean>


    <weblogic-rdbms-relation>
        <relation-name>auctionBean-bidBean</relation-name>
        <weblogic-relationship-role>
            <relationship-role-name>BidBeanRelationshipRole</relationship-role-name>
            <relationship-role-map>
                <foreign-key-table>BID</foreign-key-table>
                <primary-key-table>AUCTION</primary-key-table>
                <column-map>
                    <foreign-key-column>AUCTION</foreign-key-column>
                    <key-column>AUCTION_ID</key-column>
                </column-map>
            </relationship-role-map>
        </weblogic-relationship-role>
    </weblogic-rdbms-relation>
    <weblogic-rdbms-relation>
        <relation-name>itemBean-auctionBean</relation-name>
        <weblogic-relationship-role>
            <relationship-role-name>AuctionBeanRelationshipRole</relationship-role-name>
            <relationship-role-map>
                <foreign-key-table>AUCTION</foreign-key-table>
                <primary-key-table>ITEM</primary-key-table>
                <column-map>
                    <foreign-key-column>ITEM</foreign-key-column>
                    <key-column>ITEM_ID</key-column>
                </column-map>
            </relationship-role-map>
        </weblogic-relationship-role>
    </weblogic-rdbms-relation>
    <weblogic-rdbms-relation>
        <relation-name>userBean-bidBean</relation-name>
        <weblogic-relationship-role>
            <relationship-role-name>BidBeanRelationshipRole</relationship-role-name>
            <relationship-role-map>
                <foreign-key-table>BID</foreign-key-table>
                <primary-key-table>AUCTION_USER</primary-key-table>
                <column-map>
                    <foreign-key-column>BUYER</foreign-key-column>
                    <key-column>USER_ID</key-column>
                </column-map>
            </relationship-role-map>
        </weblogic-relationship-role>
    </weblogic-rdbms-relation>
    <weblogic-rdbms-relation>
        <relation-name>userBean-auctionBean</relation-name>
        <weblogic-relationship-role>
            <relationship-role-name>AuctionBeanRelationshipRole</relationship-role-name>
            <relationship-role-map>
                <foreign-key-table>AUCTION</foreign-key-table>
                <primary-key-table>AUCTION_USER</primary-key-table>
                <column-map>
                    <foreign-key-column>SELLER</foreign-key-column>
                    <key-column>USER_ID</key-column>
                </column-map>
            </relationship-role-map>
        </weblogic-relationship-role>
    </weblogic-rdbms-relation>
    
        <database-type>ORACLE</database-type>
        
</weblogic-rdbms-jar>
