CHAPTER 8 Legacy databases and custom SQL Ignore the association mapping in this example; this is the regular one-tomany association between Item and Bid, bidirectional, on the ITEM_ID foreign key column in BID. NOTE Isn t used for primary key associations? Usually, a mapping is a primary key relationship between two entities, when rows in both entity tables share the same primary key value. However, by using a formula with a property-ref, you can apply it to a foreign key relationship. In the example shown in this section, you could replace the element with , and it would still work. The interesting part is the mapping and how it relies on a property-ref and literal formula values as a join condition when you work with the association. Working with the association The full SQL query for retrieval of an auction item and its successful bid looks like this: select i.ITEM_ID, i.INITIAL_PRICE, … b.BID_ID, b.AMOUNT, b.SUCCESSFUL, b.BIDDER_ID, … from ITEM i left outer join BID b on ‘T’ = b.SUCCESSFUL and i.ITEM_ID = b.ITEM_ID where i.ITEM_ID = ? When you load an Item, Hibernate now joins a row from the BID table by applying a join condition that involves the columns of the successfulReference property. Because this is a grouped property, you can declare individual expressions for each of the columns involved, in the right order. The first one, ‘T’, is a literal, as you can see from the quotes. Hibernate now includes ‘T’ = SUCCESSFUL in the join condition when it tries to find out whether there is a successful row in the BID table. The second expression isn t a literal but a column name (no quotes).
Searching for affordable and reliable webhost to host and run your web applications? Go to our java web server services and you will be pleased.
This entry was posted
on Wednesday, February 27th, 2008 at 9:16 pm and is filed under PHP5.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.