hibernate映射类型

普通属性的映射 <property name="" type="" column="" length="" not-null="">

主键映射<id name="" ...>, <generater class="">, 代理主键
     identity:使用数据库的自动增长,在保存时会忽略手工指定的主键值而由数据库生成,要求此属性要是数字类型
        assigned:手工指定,比如指定UUID 
      uuid:由Hibernate生成UUID并指定为主键值,要求此属性要是String型 
      hilo:高低位算法生成主键,需要用到一个额外的表,所有的数据库都可以使用这种类型,如:
        <generator class="hilo">
                <param name="table">hi_value</param>
                <param name="column">next_value</param>
                <param name="max_lo">100</param>
      </generator>
          native:根据底层数据库的能力选择 identity、sequence(oracle) 或者 hilo 中的一个
       
组成关系映射 <component ...>
    配置文件中:
     <component name="address">
<property name="province"></property>
<property name="street"></property>
      </component>
    javabean中:
private Integer id;
private String username;
private Address address; 

集合映射
Set, List, Map, 数组, Bag(无序,可以重复)
它们均需要创建第二张表,所以在配置中必须要写外键,另外由于list和数组需要索引,它们需要配置一个索引,生成表后此索引则成了主键,而map则需要key,也需配置一个map-key属性,具体如下:
<set name="addressSet" table="user_addressSet" order-by="address DESC">
<key column="userId" />
<element column="address" type="string"></element>
</set>

<!-- addressList属性,List集合 -->
<list name="addressList" table="user_addressList">
<key column="userId"></key>
<list-index column="idx"></list-index>
<element column="address" type="string"></element>
</list>

<!-- addressMap属性,Map集合 -->
<map name="addressMap" table="user_addressMap">
<key column="userId"></key>
<map-key column="key_" type="string"></map-key>
<element column="address" type="string"></element>
</map>

<!-- addressArray属性,数组类型 -->
<array name="addressArray" table="user_addressArray">
<key column="userId" />
<list-index column="idx"></list-index>
<element column="address" type="string"></element>
</array>

<!-- addressBag属性,Bag类型(Hibernate中的类型) -->
<bag name="addressBag" table="user_addressBag">
<key column="userId"></key>
<element column="address" type="string"></element>
</bag>
配置解释:如Set集合映射 table:集合表的名称 
            <key>中的column:集合外键
            <element>:集合元素列的信息
              sort属性:如果指定为natural,就会像TreeSet那样进行排序。
              order-by属性:指定查询集合元素用的SQL中的order  by部分,这里写的是SQL语句。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

succeedloveaaaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值