hibernate中的配置文件详解
2016-09-15 16:06
393 查看
hibernate.cfg.xml
*.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="cn.xsx.entity" >
<!-- class:指映射一个pojo类
提供了公共的无参构造方法-通过反射产生对象
属性用private修饰,并且生成对应的get/set方法
类不能用final来修饰-hibernate会产生代理类(cglib)
类需要指明标示
name 表示pojo类名
table 表示pojo类的表名 如果不写 默认是类名
-->
<class name="User" table="user">
<!--
id:表示实体类的标识(OID)
对应数据库表中的主键
name 指实体类的标识属性名
column表示对应数据库表的列名 如果不写 则和数据库中列名和属性名一致
length 表示数据库表中 对应数据类型的长度 如果不写 有默认长度
type 表示类型 如果不写hibernate可以找到对应pojo类的属性的类型
-->
<id name="id" column="id">
<!-- 主键生成策略
increment 用于long , short或者int类型生成 唯一标识.
只有在没有其他进程往同一张表插入数据时才能用.在集群下不要使用
(MySQL MSSQL)
identity 对DB2,MySQL,MSSQL Sybase 等内置标识字段提供支持 返回long short 或int类型
sequence 一般用于使用序列的数据库 如Oracle 返回 long short 或int 类型
<generator class="sequence">
<param name="sequence">user_seq</param>
</generator>
active 根据底层数据库能力选择identity sequence
assigned:自己指定主键
-->
<generator class="native">
</generator>
</id>
<!--实体类的属性
name:指明pojo类属性名称(区分大小写)
-->
<property name="name"/>
<property name="pwd"/>
</class>
</hibernate-mapping>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 配置数据连接信息 --> <!-- 数据库驱动 --> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <!-- url 默认相当于:jdbc:mysql://localhost:3306/hibernate4 --> <property name="connection.url">jdbc:mysql:///hibernate4</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <!-- hibernate 首选项 --> <!-- 数据库方言 --> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- 配置是否打印sql语句 --> <property name="show_sql">true</property> <!-- 格式化SQL语句 --> <property name="format_sql">true</property> <!-- 数据库更新方式 create:每次执行都把原有数据表删除,然后创建该表 create-drop:在显式关闭SessionFactory时,将drop数据库schema validate:检测 update:如果表不存在,就创建,有就不用创建 --> <property name="hbm2ddl.auto">update</property> <mapping resource="cn/xsx/entity/User.hbm.xml" /> </session-factory> </hibernate-configuration>
*.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="cn.xsx.entity" >
<!-- class:指映射一个pojo类
提供了公共的无参构造方法-通过反射产生对象
属性用private修饰,并且生成对应的get/set方法
类不能用final来修饰-hibernate会产生代理类(cglib)
类需要指明标示
name 表示pojo类名
table 表示pojo类的表名 如果不写 默认是类名
-->
<class name="User" table="user">
<!--
id:表示实体类的标识(OID)
对应数据库表中的主键
name 指实体类的标识属性名
column表示对应数据库表的列名 如果不写 则和数据库中列名和属性名一致
length 表示数据库表中 对应数据类型的长度 如果不写 有默认长度
type 表示类型 如果不写hibernate可以找到对应pojo类的属性的类型
-->
<id name="id" column="id">
<!-- 主键生成策略
increment 用于long , short或者int类型生成 唯一标识.
只有在没有其他进程往同一张表插入数据时才能用.在集群下不要使用
(MySQL MSSQL)
identity 对DB2,MySQL,MSSQL Sybase 等内置标识字段提供支持 返回long short 或int类型
sequence 一般用于使用序列的数据库 如Oracle 返回 long short 或int 类型
<generator class="sequence">
<param name="sequence">user_seq</param>
</generator>
active 根据底层数据库能力选择identity sequence
assigned:自己指定主键
-->
<generator class="native">
</generator>
</id>
<!--实体类的属性
name:指明pojo类属性名称(区分大小写)
-->
<property name="name"/>
<property name="pwd"/>
</class>
</hibernate-mapping>
相关文章推荐
- Hibernate配置文件中映射元素详解
- Hibernate配置文件详解
- Hibernate配置文件中映射元素详解
- struts+hibernate+spring整合的文件配置详解
- hibernate配置文件详解
- Hibernate配置文件中映射元素详解
- Hibernate3.3配置日志文件详解
- hibernate配置文件详解
- Hibernate 配置文件详解
- Hibernate配置文件中映射元素详解
- Hibernate配置文件详解
- Hibernate配置文件中映射元素详解
- Hibernate配置文件详解(1)
- Hibernate配置文件的详解和优化
- Hibernate配置文件中映射元素详解
- Hibernate配置文件中映射元素详解
- hibernate.cfg.xml配置文件详解
- Hibernate配置文件中映射元素详解
- Hibernate映射配置文件详解
- Hibernate 配置文件中映射元素详解