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中需要指明pojo类所在的包
schema指数据库模式,一个模式下可以有多张表,不同的数据库不一样
-->
<hibernate-mapping package="com.pojo">
<!--
class指映射一个pojo类
它所映射的类有以下几个特征:
1、提供公共的无参构造方法-通过反射产生对象
2、属性用private修饰,并且生成对应的get/set方法
3、类不能用final来修饰,hibernate会产生一个代理类,代理类可以通过类(cglib)和接口产生,final不能被继承
4、类需要指明标识-id,默认情况下是指主键
name表示pojo类的类名
table表示pojo类对应数据库中的表名,不指明的话默认name=table
-->
<!-- 实体类与表名 -->
<class name="User" table="user">
<!-- id表示实体类的标志
对应数据库表中的主键
name指实体类的标识属性名
column表示对应数据库表的列名,如果不写则数据库中的列名和属性名一直
length表示数据库表中,对应数据类型的长度,如果不写有面人的长度
type表示类型,如果不写,hibernate可以找到对应pojo类的属性的类型,比如string,java.lang.Integer
-->
<id name="id" column="id" >
<!-- 主键生成策略
increment:集群下不要用,用于long,short或者int,oracle不能用,它先查最大的id,然后+1
identity:对于DB2,mysq,mssql,sybase内置标识字段提供支持,返回的标识符是long,short或者int类型的
sequence:在支持序列的数据库中使用,在db2,postgreSql,oracle,sqp db,mckoi中使用序列sequence,而在Interbase中使用生成器generator,返回的标识符是long,short或者int
oracle<generator class="sequence">
<param name="sequence">user_seq</param>
</generator>
uuid:用一个128-bit的UUID算法生成字符串类型的标识符,32位的16进制的字符串
native:根据底层数据库的能力选择使用identity,sequence或者hilo中的一个
assigned:自己指定
-->
<generator class="native"></generator>
</id>
<!-- 实体(pojo)类的属性
name:pojo类属性名称,区分大小写
<property name="name">
<column name="name"></column>和上面的一样
</property>
-->
<property name="name"/>
<property name="pwd"/>
</class>
</hibernate-mapping>