<?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>