您的位置:首页 > 其它

关于hibernate中set、list、map标签的用法与配置含义。

2009-01-01 21:44 405 查看
首先这三个标签我的感觉是应该都是运用到一对多的地方。三者之间的区别就是,Set是无序的,所以表的结构中,不用为其建立一个区别与其他列的标签,而List是有序的,需要建立一个一个区别与其他列的标识,而Map的特点我们一定可以从这里判断出来而且特别清楚了,Map是向里面传值的时候是键值对应的,键对应一个字段,值对应一个字段,而键这个字段就和List中那个区别于其他列的标识一样,用于区分。

下面我们看下配置中的例子。

首先我们看看Set的:
<!--其中这个name中的就是你要映射的类的名字,table是你映射到哪个表,如果不写的话,就是默认成和name中名字相同的表,如果要是这个名字是sql中的关键字,那么我们就要写个table设置成不是关键字的名字。-->
<set name=" " table=" ">
<!--key中配置的是既是主键又是外键,就是凭借的这里的配置和另一个表中的id进行关联的,column就是对应的表中的字段名。-->
<key>
<column name=" "/>
</key>
<!--element是元素的意思,他设置的是类中其他属性对应的表中的字段名。-->
<element column=" "/>
</set>

其次我们看看List的:
<!--其中这个name中的就是你要映射的类的名字,table是你映射到哪个表,如果不写的话,就是默认成和name中名字相同的表,如果要是这个名字是sql中的关键字,那么我们就要写个table设置成不是关键字的名字。-->
<list name=" " table=" ">
<!--key中配置的是既是主键又是外键,就是凭借的这里的配置和另一个表中的id进行关联的,column就是对应的表中的字段名。-->
<key>
<column name=" "/>
</key>
<!-- index在sql我们知道是索引,在这里换个方式理解,他是一个进行顺序标识的东西,因为list是有序的,所以我们就是通过这个来区分顺序的。-->
<index column= " "/>
<!--element是元素的意思,他设置的是类中其他属性对应的表中的字段名。-->
<element column=" "/>
</list>

其次我们看看Map的:

<!--其中这个name中的就是你要映射的类的名字,table是你映射到哪个表,如果不写的话,就是默认成和name中名字相同的表,如果要是这个名字是sql中的关键字,那么我们就要写个table设置成不是关键字的名字。-->
<map name=" " table=" ">
<!--key中配置的是既是主键又是外键,就是凭借的这里的配置和另一个表中的id进行关联的,column就是对应的表中的字段名。-->
<key>
<column name=" "/>
</key>
<!-- 这里的index设置和list中的含义是大同小异的。list中的是顺序标识,在map中我们知道是通过键值对应,这里的index中的就相当于键。而后面element中的配置就相当于他的值。-->
<index column= " "/>
<!--element是元素的意思,他设置的是类中其他属性对应的表中的字段名。-->
<element column=" "/>
</map>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: