hibernate的常用配置
hibernate.cfg.xml的一些相关配置
- <!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节点代表一个数据库 -->
- <session-factory>
- <!-- 1. 数据库连接配置 -->
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql:///hib_demo</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password">root</property>
- <!-- 数据库方法配置, hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql-->
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
- <!-- 2. 其他相关配置 -->
- <!-- 2.1 显示hibernate在运行时候执行的sql语句 -->
- <property name="hibernate.show_sql">true</property>
- <!-- 2.2 格式化sql -->
- <property name="hibernate.format_sql">true</property>
- <!-- 2.3 自动建表 -->
- <property name="hibernate.hbm2ddl.auto">update</property>
- <!-- 配置session的创建方式:线程方式创建session对象 -->
- <property name="hibernate.current_session_context_class">thread</property>
- <!--****************** 【连接池配置】****************** -->
- <!-- 配置连接驱动管理类 -->
- <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
- <!-- 配置连接池参数信息 -->
- <property name="hibernate.c3p0.min_size">2</property>
- <property name="hibernate.c3p0.max_size">4</property>
- <property name="hibernate.c3p0.timeout">5000</property>
- <property name="hibernate.c3p0.max_statements">10</property>
- <property name="hibernate.c3p0.idle_test_period">30000</property>
- <property name="hibernate.c3p0.acquire_increment">2</property>
- <!--****************** 【二级缓存配置】****************** -->
- <!-- a. 开启二级缓存 -->
- <property name="hibernate.cache.use_second_level_cache">true</property>
- <!-- b. 指定使用哪一个缓存框架(默认提供的) -->
- <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
- <!-- 开启查询缓存 -->
- <property name="hibernate.cache.use_query_cache">true</property>
- <!-- c. 指定哪一些类,需要加入二级缓存 -->
- <class-cache usage="read-write" class="包名.类名"/>
- <class-cache usage="read-only" class="包名.类名"/>
- <!-- 集合缓存[集合缓存的元素对象,也加加入二级缓存] -->
- <collection-cache usage="read-write" collection="包名.类名.类里的属性"/>
- <!-- 3. 加载所有映射
- <mapping resource="cn/itcast/a_hello/Employee.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">
- <hibernate-mapping package="cn.itcast.a_query">
- <!-- 类的属性 -->
- <class name="类名" table="表名" >
- <!-- 开始主键说明 -->
- <id name="id字段,主键">
- <!--
- 主键的生成策略
- identity 自增长(mysql,db2)
- sequence 自增长(序列), oracle中自增长是以序列方法实现
- native 自增长【会根据底层数据库自增长的方式选择identity或sequence】
- 如果是mysql数据库, 采用的自增长方式是identity
- 如果是oracle数据库, 使用sequence序列的方式实现自增长
- increment 自增长(会有并发访问的问题,一般在服务器集群环境使用会存在问题。)
- assigned 指定主键生成策略为手动指定主键的值
- uuid 指定uuid随机生成的唯一的值
- foreign (外键的方式, one-to-one讲)
- -->
- <generator class="native"></generator>
- </id>
- <!-- 结束主键说明 -->
- <!-- 开始其他字段说明 -->
- <!--
- 普通字段映射
- property
- name 指定对象的属性名称
- column 指定对象属性对应的表的字段名称,如果不写默认与对象属性一致。
- length 指定字符的长度, 默认为255
- type 指定映射表的字段的类型,如果不指定会匹配属性的类型
- java类型: 必须写全名
- hibernate类型: 直接写类型,都是小写
- -->
- <property name="其他键" length="20"></property>
- <!-- 结束其他字段说明 -->
- <!-- 开始集合说明 -->
- <!--
- set集合属性的映射
- --name 指定要映射的set集合的属性
- --table 集合属性要映射到的表
- --key 指定集合表(t_address)的外键字段
- --element 指定集合表的其他字段
- --type 元素类型,一定要指定
- -->
- <set name="address" table="t_address">
- <key column="uid"></key>
- <element column="address" type="string"></element>
- </set>
- <!--
- list集合映射
- --list-index 指定的是排序列的名称 (因为要保证list集合的有序)
- -->
- <list name="addressList" table="t_addressList">
- <key column="uid"></key>
- <list-index column="idx"></list-index>
- <element column="address" type="string"></element>
- </list>
- <!--
- map集合的映射
- --key 指定外键字段
- --map-key 指定map的key
- --element 指定map的value
- -->
- <map name="addressMap" table="t_addressMap">
- <key column="uid"></key>
- <map-key column="shortName" type="string" ></map-key>
- <element column="address" type="string" ></element>
- </map>
- <!-- 结束集合说明 -->
- <!-- 开始对应关系的结构说明 -->
- <!--
- 一对多
- 1. 指定 映射的集合属性: "emps"
- 2. 集合属性对应的集合表: "t_employee"
- 3. 集合表的外键字段 "t_employee. dept_id"
- 4. 集合元素的类型
- inverse=false set集合映射的默认值; 表示有控制权
- -->
- <set name="emps" cascade="save-update,delete" table="t_employee" inverse="true"> <!-- table="t_employee" -->
- <key column="dept_id"></key>
- <one-to-many class="Employee"/>
- </set>
- <!--
- 多对一
- Employee 映射关键点:
- 1. 映射的部门属性 : dept
- 2. 映射的部门属性,对应的外键字段: dept_id
- 3. 部门的类型
- -->
- <many-to-one name="dept" column="dept_id" class="Dept"></many-to-one>
- <!--
- 多对多
- name 指定映射的集合属性
- table 集合属性对应的中间表
- key 指定中间表的外键字段(引用当前表t_developer主键的外键字段)
- many-to-many
- column 指定外键字段对应的项目字段
- class 集合元素的类型
- 集合属性,默认使用懒加载
- lazy
- true 懒加载
- extra 懒加载(智能)
- false 关闭懒加载
- -->
- <set name="projects" table="t_relation" lazy="extra">
- <key column="did"></key>
- <many-to-many column="prjId" class="Project"></many-to-many>
- </set>
- <!-- 结束对应关系的结构说明 -->
- </class>
- <!-- 存放sql语句 -->
- <query name="getAllDept">
- <![CDATA[
- from Dept d where deptId < ?
- ]]>
- </query>
- </hibernate-mapping>
hibernate的常用配置的更多相关文章
- SSH(struts+spring+hibernate)常用配置整理
SSH(struts+spring+hibernate)常用配置整理 web.xml配置 <?xml version="1.0" encoding="UTF-8&q ...
- hibernate学习笔记(3)hibernate常用配置以及session对象
更改hibernate.cfg.xml的内容,常用配置有: <!-- 把hibernate运行时的SQL语句显示到控制台 --> <property name="sho ...
- hibernate课程 初探单表映射2-2 hibernate常用配置
1 hibernate.cfg.xml常用配置: show_sql 控制台打印sql format_sql 控制台将sql排版 hbm2ddl.auto: create 删除表结构,重新建表并插值 u ...
- hibernate.hbm2ddl.auto配置详解
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下:<properties><property name="hibernate. ...
- Hibernate入门3.配置映射文件深入
Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...
- Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】
原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/12/19/2293038.html hibernate.cfg.xml 中hibern ...
- hibernate进阶--一对多映射配置
hibernate作为一款优秀的ORM框架,广受大家喜爱,也被Java社区公认为持久层的首选.虽然jdbc为Java数据库操 作带来了诸多便利,但是并没有统一SQL语句的写法,而且具体操作数据库的代码 ...
- Spring连接池的常用配置
1.连接池概述 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个 应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正 ...
- 初识Hibernate的主配置和映射配置
Hibernate.cfg.xml 主配置 Hibernate.cfg.xml 主配置文件夹中主要配置:数据库链接配置,其他参数配置,映射信息等. 常用配置查看源码: hibernate-distri ...
随机推荐
- codeforces 401D. Roman and Numbers 数位dp
题目链接 给出一个<1e18的数, 求将他的各个位的数字交换后, 能整除m的数的个数. 用状态压缩记录哪个位置的数字已经被使用了, 具体看代码. #include<bits/stdc++. ...
- Android 在一个程序中启动另一个程序
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字 ...
- 57. Spring 自定义properties升级篇【从零开始学Spring Boot】
之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...
- 《火球——UML大战需求分析》(0.1)——开篇废话
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- delphi调用外部程序打开文件
delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...
- Java 根据comboBox选择结果显示JTable
处理这样的问题的主要思路是: 对于JTable,JTree等Swing控件,都有一个对应的Model用来存储数据,JTable对应的有一个DefaultTableModel. Defa ...
- iperf
iperf命令是一个网络性能测试工具.iperf可以测试TCP和UDP带宽质量.iperf可以测量最大TCP带宽,具有多种参数和UDP特性.iperf可以报告带宽,延迟抖动和数据包丢失.利用iperf ...
- XML 文档解析操作
sing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security; ...
- ios学习Day3xiawu
switch #include <stdio.h> int main(int argc, char * argv[]) { int i; scanf("%d",& ...
- 如果DataGrid的checkbox出现点一个另外自动点另一个现象
如果DataGrid的checkbox出现点一个另外自动点另一个现象: 取消(EnableRowVirtualization)这个选项就可以正常了(关闭虚拟UI):