hibernate映射表

时间:2021-07-25 22:48:33
<?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:要映射的对象所在的包(可选的,如果不指定,此文件下的类都要指定全路径名)  
        auto-import:默认为true,在写hql语句的时候自动导入包名  
                    如果指定为false,在写hql语句的时候必须写上类的全路径名  
                    如session.createQuery("from cn.itcast.hello.Employee");  
     -->  
<hibernate-mapping package="cn.itcast.hello" auto-import="true">  
    <!--   
        class:映射某一个对象的(一般情况,一个对象写一个映射文件)  
        name:对应要映射的对象的类型  
        table:指定对象对应的表  
                如果不写,默认与对象名称一样(改成小写)  
     -->  
    <class name="Employee" table="employee">  
        <!-- 主键  映射-->  
        <id name="id">  
            <!-- 主键的生成 策略   
                identity:自增长(musql db2)  
                sequence:自增长(序列).oracle中自增长是通过序列  
                native:自增长(  
                    会根据底层数据库自增长的方式来选择identity或者sequence  
                    如果是MySQL数据库,采用的增长方式是identity  
                    如果是oracle,采用的增长方式是sequence  
                )  
                increment:自增长(会有并发访问问题,一般在服务器集群中使用会出现问题)  
                assigned 指定增长生成策略为手动指定主键的值  
                uuid:指定uuid随机生成唯一的值  
                foreign (外键的方式,one-to-one)  
            -->  
            <generator class="native"></generator>  
        </id>  
        <!--  
             非主键 映射  
             name:对应对象的属性名称  
             column:指定对象对应的表的字段的名称,如果不写默认和对象的属性的一致  
             length:指定表结构中字符的长度.默认是255  
             type:指定映射表字段的类型,如果不指定会匹配对象属性的类型  
                Java类型:必须写全名  
                Hibernate类型:直接写类型,是小写  
          
        -->  
        <property name="empName" column="empName" length="20" type="string"></property>  
        <property name="workDate" column="workDate" length="50" type="date"></property>  
    </class>  
</hibernate-mapping>