Hibernate 配置
来源:互联网 发布:淘宝的运行模式 编辑:程序博客网 时间:2024/05/17 06:29
为了能在各种不同的工作环境下工作
具有大量的配置参数
所有属性的名字和语义都在 org.hibernate.cfg.Environment类中定义
Hibernate的JDBC属性
-weight:bold;c
属性名
用途
hibernate.connection.driver_class
jdbc驱动类
hibernate.connection.url
jdbc URL
hibernate.connection.username
数据库用户
hibernate.connection.password
数据库用户密码
hibernate.connection.pool_size
自带连接池容量上限数目
Hibernate连接池 1:使用Hibernate自带的连接池(算法不成熟) 2:使用配置文件指定的数据库连接池。 3:从容器中获取得到连接池(如:Tomcat)
出于性能和稳定性考虑应该使用第三方的连接池 - C3P0 - Proxool
使用C3P0
tyle='font-fam
Hibernate.c3p0.min_size
连接池中可用数据库连接的最小数目
Hibernate.c3p0.max_size
连接池中所有数据库连接的最大数目
Hibernate.c3p0.time_out
数据库连接的超时时间
Hibernate.c3p0.max_statement
可以被缓存的PreparedStatement的最大数目
连接池属性<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider </property> <property name="hibernate.c3p0.max_size">20</property> <property name="hibernate.c3p0.min_size">5</property> <property name="hibernate.c3p0.timeout">120</property> <property name="hibernate.c3p0.max_statements">100</property> <property name="hibernate.c3p0.idle_test_period">120</property> <property name="hibernate.c3p0.acquire_increment">2</property>
连接池属性
使用proxool - 导入proxool-0.9.0RC3.jar包 - 创建proxool.xml文件和 hibernate.cfg.xml放在一起
<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
<proxool>
<alias>xml-test</alias>
<driver-url>jdbc:mysql://localhost:3306/telecom</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value=""/>
<property name="useUnicode" value="true"/>
<property name="characterEncoding" value="utf-8"/>
<property name="zeroDateTimeBehavior" value="convertToNull"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
在hibernate.cfg.xml中作配置
<property name=“proxool.pool_alias”>xml-test</property> <!--这个名字要和XML文件中的别名要对应--> <property name=“proxool.xml”>Proxool.xml</property> <!--这个是建立的XML文件的名字--> <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
从容器中获取得到连接池
在容器中配置数据源
在hibernate.cfg.xml中指定使用这个名为“jdbc/feifei”的JNDI <property name=”hibernate.connection.datasource”>java:/comp/env/jdbc/test </property>
从容器中获取得到连接池
在容器中配置数据源
在hibernate.cfg.xml中指定使用这个名为“jdbc/feifei”的JNDI <property name=”hibernate.connection.datasource”>java:/comp/env/jdbc/test </property>
Hibernate可选配置属性
tyle='font-fam
属性名
用途
hibernate.show_sql
输出所有SQL语句到控制台.
hibernate.format_sql
格式化输出SQL语句
hibernate.generate_statistics
Hibernate将收集有助于性能调节的统计数据
hibernate.use_sql_comments
在SQL中生成有助于调试的注释
……
Hibernate实体映射文件配置一个普通PO对象的映射文件组成部分(User.hbm.xml)
Class节点配置说明
dth=104>
参数
说明
类型
必须
name
类名
text
是
table
类对应的表名 ,默认值:当前类名
text
否
dynamic-update
生成Update SQL时,仅包含发生变
动的字段, 默认值: false
Bool
否
dynamic-insert
生成Insert SQL时,仅包含发生变
动的字段, 默认值: false
Bool
否
discriminator-value
子类辨别标识,用于多态支持。
text
否
where
数据筛选选条件,如果只需要处理库表中某些特定数据的时候,可通过此选项设定结果集限定条件。
text
否
mutable
类是否会发生改变
ID节点配置说明h:64pt' width=
参数
说明
类型
必须
name
映射类中对应表主键的属性名
Text
N
column
主键字段名 , 默认值:当前类名
Text
N
type
字段类型
Text
N
length
字段长度
Text
N
unsaved-value
用于对象是否已经保存的判定值。
Text
N
access
类属性访问方式
Text
generator class节点配置说明
参数
说明
类型
必须
assigned
主键由外部程序负责生成,无需
Hibernate参与。
—
—
hilo
通过 hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。
—
—
increment
主键按数值顺序递增。
—
—
identity
采用数据库提供的主键生成机制。
如 DB2、SQL Server、MySQL
中的主键生成机制。
—
—
sequence
采用数据库提供的 sequence 机制生成主键。如Oralce。
—
—
uuid.hex
由Hibernate基于 128 位唯一值产生算法生成
16 进制数值(编码后以长度32的字符串表示)
作为主键。
—
—
native
由hibernate根据,Dialect,
属性/字段映射配置说明
参数
说明
类型
必须
name
映射类属性名
Text
Y
column
对应数据库表字段
Text
N
type
字段类型
Text
N
length
字段长度
Text
N
update
Update时,是否包含此字段
Bool
N
insert
Insert时,是否包含此字段
Bool
N
not-null
字段是否允许为空
Bool
N
formula
表达式属性
Text
N
lazy
延迟加载属性
Bool
N
unique
字段是否唯一(是否允许重复值)
Bool
内置映射类型
lob
Hibernate映射类型
说明
SQL类型
大小
integer/int
java.lang.Integer/int
INTEGER
4
long
java.lang.Long/long
BIGINT
8
big_decimal
java.math.BigDecimal
NUMERIC
N
string
java.lang.String
VARCHAR
变长
boolean
java.lang.Boolean/Boolean
BIT
布尔
date
java.util.Date/java.sql.Date
DATE
日期
timestamp
java.util.Date/java.util.Timestamp
TIMESTAMP
clob
java.sql.Clob
CLOB
CLOB
blob
java.sql.Blob
BLOB
b
- hibernate-hibernate的配置
- 【Hibernate】2.Hibernate配置
- Hibernate 配置!
- Hibernate配置
- Hibernate配置
- Hibernate 配置
- Hibernate配置
- Hibernate配置
- Hibernate配置
- Hibernate配置
- hibernate 配置
- Hibernate 配置
- Hibernate 配置
- hibernate配置
- 配置HIbernate
- Hibernate 配置
- Hibernate配置
- Hibernate配置
- 时钟小结
- 将文件转成base64 字符串
- 深入理解Calendar的set和get方法
- 软件开发部分文档说明
- C语言的语句
- Hibernate 配置
- python学习笔记
- 常用CSS样式属性
- C代码编译过程分析
- 【JQuery】——可编辑的表格
- 操作系统精髓与设计原理-操作系统概述
- 程序员必须知道的10大基础实用算法及其讲解:排序、查找、搜索和分类等
- c++创建引用
- web service 基本原理(思维导图)