﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-fjpan2002-文章分类-Hibernate</title><link>http://www.blogjava.net/fjpan2002/category/3568.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 03 Mar 2007 03:08:06 GMT</lastBuildDate><pubDate>Sat, 03 Mar 2007 03:08:06 GMT</pubDate><ttl>60</ttl><item><title>Set、Bag、List、Maps的使用</title><link>http://www.blogjava.net/fjpan2002/articles/18764.html</link><dc:creator>勇敢的心</dc:creator><author>勇敢的心</author><pubDate>Tue, 08 Nov 2005 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/fjpan2002/articles/18764.html</guid><wfw:comment>http://www.blogjava.net/fjpan2002/comments/18764.html</wfw:comment><comments>http://www.blogjava.net/fjpan2002/articles/18764.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fjpan2002/comments/commentRss/18764.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fjpan2002/services/trackbacks/18764.html</trackback:ping><description><![CDATA[Set:<BR><SET table="ITEM_IMAGE" lazy="true" name="images"><BR>&nbsp;&nbsp;&nbsp;<KEY column="ITEM_ID" /><BR>&nbsp;&nbsp;&nbsp;<ELEMENT column="FILENAME" not-null="true" type="string" /><BR></SET><BR>注：1、key:外健，2、不能有重复的元素<BR>Bag：无序的集合，可重复元素<BR>List：有序的，可重复元素，在数据库中需要额外的“index”字段来标识collection中的位置：<BR><BR><LIST table="ITEM_IMAGE" lazy="true" name="images"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<KEY column="ITEM_ID" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INDEX column="POSITION" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<ELEMENT column="FILENAME" not-null="true" type="string" /><BR></LIST><BR>ITEM_ID和POSITION作为联合主键。<BR><BR>Map:<BR><MAP name=images table="ITEM_IMAGE" lazy="true"><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<KEY column="ITEM_ID" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INDEX column="IMAGE_NAME" type="string" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<ELEMENT column="FILENAME" not-null="true" type="string" /><BR></MAP><BR><BR>ITEM_ID和IMAGE_NAME为联合主键，IMAGE_NAME存储着map的key<BR><BR><BR>Sorted&nbsp;和 ordered<BR>Sorted：通过java在内存排序；<BR><MAP name=images <BR>&nbsp;&nbsp;&nbsp;lazy="true"<BR>&nbsp;&nbsp;&nbsp;table="ITEM_IMAGE"<BR>&nbsp;&nbsp;&nbsp;sort="natural"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<KEY column="ITEM_ID" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INDEX column="IMAGE_NAME" type="string" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<ELEMENT column="FILENAME" not-null="true" type="string" /><BR></MAP><BR><BR>sort="natural"：表示hibernate使用了SortedMap；此外还可以指定Comparator（实现了java.util.Comparator）；<BR>如果是<SET />,sort="natural"时，hibernate使用了TreeSet；<BR>Bag：不能排序<BR><BR>ordered：Sql order by 排序<BR><MAP name=images <BR>&nbsp;&nbsp;&nbsp;lazy="true"<BR>&nbsp;&nbsp;&nbsp;table="ITEM_IMAGE"<BR>&nbsp;&nbsp;&nbsp;order-by="IMAGE_NAME asc"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<KEY column="ITEM_ID" /><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INDEX column="IMAGE_NAME" type="string" /><BR>&nbsp;&nbsp;&nbsp;<ELEMENT column="FILENAME" not-null="true" type="string" /><BR></MAP><BR>通过order-by属性来排序，Set和Bag都可以使用order-by，但是List不能使用order-by，由于使用了LinkedHashSet&nbsp;和 LinkedHashMap，故该功能只能在JDK1.4及以上版本使用。<BR><BR>Component：（聚合关系，整体和部分的关系，has a）<BR><SET name="images" <BR>&nbsp;&nbsp;&nbsp;lazy="true"<BR>&nbsp;&nbsp;&nbsp;table="ITEM_IMAGE"<BR>&nbsp;&nbsp;&nbsp;order-by="IMAGE_NAME asc"&gt;<BR>&nbsp;&nbsp;&nbsp;<KEY column="ITEM_ID" /><BR>&nbsp;&nbsp;&nbsp;<COMPOSITE-ELEMENT class=Image><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<property name="name" column="IMAGE_NAME" not-null="true"></property><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<property name="filename" column="FILENAME" not-null="true"></property><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<property name="sizeX" column="SIZEX" not-null="true"></property><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<property name="sizeY" column="SIZEY" not-null="true"></property><BR>&nbsp;&nbsp;&nbsp;</COMPOSITE-ELEMENT><BR></SET><img src ="http://www.blogjava.net/fjpan2002/aggbug/18764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fjpan2002/" target="_blank">勇敢的心</a> 2005-11-08 14:07 <a href="http://www.blogjava.net/fjpan2002/articles/18764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>