Hibernate映射文件(Entity.hbm.xml)

hbm全称:Hibernate Mapping(Hibernate映射)

<?xml version="1.0"?>
<!--头文件-->
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--这里的package属性写的是实体类包-->
<hibernate-mapping package="com.me.relation.entity">
    <!--class标签中的name为实体对应的类名,table标签为创建的表名,如果不写默认就是类名首字母小写(student)-->
    <class name="Student" table="student">
        <!--
            以下所有标签,name为对应实体中属性名,column属性可有可无,有的话表示自己定义在表中的字段名,不写的话默认与name一致(与实体中的属性名一致)
        -->
        <!--必须有的主键标签-->
        <id name="id">
            <!--主键生成策略,这里表示自增长-->
            <generator class="identity"></generator>
        </id>
        <property name="joinTime" column="join_time"></property>
        <property name="name"></property>
        <property name="sex"></property>
        <property name="age"></property>
    </class>
</hibernate-mapping>

主键生成策略详解:

increment, 数字类型的自增。(用于单线程,或线程安全的)
原理:当前表最大的id值,+1,然后插入时加进去

identity,数字类型的自增。依赖于数据库底层的实现。
原理:数据库底层主键的auto_increament

uuid,生成32位的16进制的一串没有任何意义的唯一编码。
原理:框架生成,然后插入时加进去

guid ,用书mySql或者Sql service数据中生成字符串类型的唯一标识。
原理:用数据库自带的uuid函数

native: 依赖于数据库底层的实现。数据库默认的主键生成策略是什么,他就是什么。
原理:数据库默认(auto_increament)

assigned:手动分配。
原理:手动加

foreign : 使用外键做主键。(比较少见,一般只会一对一当中出现)
原理:获取外键的值,插入到表中

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值