• hibernate笔记--实体类映射文件"*.hbm.xml"详解


      实体类就是指普通的POJO,Hibernate并不知道那个实体类对应数据库的哪一张表,所以还需要配置一下,常用的方式就是*.hbm.xml文件[配置与@注解配置,这里介绍前者的详细属性:

    <?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声明pojo类所在的包,如果不写那么在class的name属性里需要指定包名全路径 
        schema指数据库模式,一个模式下可以有多张表
        -->
    <hibernate-mapping package="com.wang.pojo">
        <!-- class指映射一下pojo类,提供了公共的无参构造方法,通过反射产生对象
                属性用private修饰,并且生成get,set方法
                类不能用final来修饰,
                类需要指明标识  ,即id属性
                name:表示pojo类名
                table:标识对应的数据库表名 -->
        <class name="User" table="user">
        <!-- id:表示实体类的标识
            对应数据库表中的主键
            name:是指实体类的标识属性名
            column表示对应数据库表的列名,如果不写,则数据库表中列名和属性名一致
            length:标识数据库表中对应数据类型的长度,如果不写有默认长度
            type表示类型,如果不写hibernate可以找到对应的pojo类的属性的类型,可以写成int,string,java.lang.Integer等等 -->
            <id name="id" column="id" >
                <!-- 主键生成策略 
                native:根据底层数据库能力选择identity,sequence,或者hilo中的一个
                
                -->
                <generator class="native"></generator>
            </id>
            <!-- 实体类属性 -->
            <property name="name"/>    
            <property name="pwd"/>    
        </class>
    
    </hibernate-mapping>
    • 主键映射

      实体类最好有一个主键列,并有get/set方法,主键最好使用可以为Null值的数据类型,比如Integer,Long,String,而不要使用int ,long等,因为如果主键为null,表示这个实体类还没有保存到数据库,是一个临时状态(Transient),而int,long等基本数据类型没有这个功能.

      主键生成规则:也成为主键生成策略,用的最多的就是native(自增长策略),

        native:自动方式,根据底层数据库自动选择.

    在class标签下,配置主键映射为:

    <id name="id" column="id" >
        <generator class="native"></generator>
    </id>
    • 普通属性映射

      普通属性就是除主键外,java基本数据类型的属性,比如Integer(int),String,Date等,注意Integer默认为null,int默认为0.

      xml中使用<property />标签配置普通属性.type指定列类型,

      

    日期属性配置,与普通属性配置相同,只是type中指定的是日期类型即可,取值可以有date,time,timestamp(简写方式)

           

      

  • 相关阅读:
    抓取猫眼电影top100的正则、bs4、pyquery、xpath实现方法
    Win实用好用软件清单推荐
    Manjaro安装配置美化字体模糊发虚解决记录
    爬取杭电oj所有题目
    Python爬取微博热搜以及链接
    20191225_Python构造函数知识以及相关注意事项
    java_细节_windows7下记事本保存为utf-8格式的问题
    基础_划分子网
    爬虫_爬取有道每日一句
    算法_基础_伪代码定义以及遵循的规则
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5233939.html
Copyright © 2020-2023  润新知