<?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>
时间: 2024-10-10 14:22:02