您的位置:首页 > 数据库

HIbernate 中配置二级缓存Ehcache ,C3p0连接池,反向创建数据库

2013-05-22 01:45 691 查看
----------------------*hibernate.cfg.xml----------------------------------

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>



<property name="hibernate.connection.provider_class">

org.hibernate.connection.C3P0ConnectionProvider

</property>

<property name="hibernate.bytecode.use_reflection_optimizer">false</property>

<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->

<property name="hibernate.c3p0.acquire_increment">2</property>

<!-- 每隔100秒检查连接池里的空闲连接 ,单位是秒-->

<property name="hibernate.c3p0.idle_test_period">100</property>

<!-- 最大连接数 -->

<property name="hibernate.c3p0.max_size">30</property>

<!-- 最大的PreparedStatement的数量 -->

<property name="hibernate.c3p0.max_statements">0</property>

<!-- 最小连接数 -->

<property name="hibernate.c3p0.min_size">10</property>

<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->

<property name="hibernate.c3p0.timeout">100</property>



<!-- 开启hibernate 二级缓存 -->

<property name="hibernate.cache.use_second_level_cache">true</property>



<!-- 指定hibernate使用Ehcache缓存 -->

<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

<property name="hibernate.cache.use_query_cache">true</property>

<property name="hibernate.cglib.use_reflection_optimizer">true</property>





<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>

<property name="hibernate.connection.password">333</property>

<property name="hibernate.connection.url">jdbc:mysql://localhost/WIS14?autoReconnect=true</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.hbm2ddl.auto">update</property>

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="hibernate.show_sql">true</property>

<mapping resource="com/nen/cn/util/EipTblUser2.hbm.xml" />

</session-factory>

</hibernate-configuration>





-----------------------------ehcache.xml---------------------------------------------------

<ehcache>

<!-- Sets the path to the directory where cache .data files are created.

If the path is a Java System Property it is replaced by

its value in the running VM.

The following properties are translated:

user.home - User's home directory

user.dir - User's current working directory

java.io.tmpdir - Default temp file path -->

<diskStore path="java.io.tmpdir"/>

<!--Default Cache configuration. These will applied to caches programmatically created through

the CacheManager.

The following attributes are required for defaultCache:

maxInMemory - Sets the maximum number of objects that will be created in memory

eternal - Sets whether elements are eternal. If eternal, timeouts are ignored and the element

is never expired.

timeToIdleSeconds - Sets the time to idle for an element before it expires. Is only used

if the element is not eternal. Idle time is now - last accessed time

timeToLiveSeconds - Sets the time to live for an element before it expires. Is only used

if the element is not eternal. TTL is now - creation time

overflowToDisk - Sets whether elements can overflow to disk when the in-memory cache

has reached the maxInMemory limit.

-->

<defaultCache

maxElementsInMemory="10000"

eternal="false"

timeToIdleSeconds="120"

timeToLiveSeconds="120"

overflowToDisk="true"

/>

<!--Predefined caches. Add your cache configuration settings here.

If you do not have a configuration for your cache a WARNING will be issued when the

CacheManager starts

The following attributes are required for defaultCache:

name - Sets the name of the cache. This is used to identify the cache. It must be unique.

maxInMemory - Sets the maximum number of objects that will be created in memory

eternal - Sets whether elements are eternal. If eternal, timeouts are ignored and the element

is never expired.

timeToIdleSeconds - Sets the time to idle for an element before it expires. Is only used

if the element is not eternal. Idle time is now - last accessed time

timeToLiveSeconds - Sets the time to live for an element before it expires. Is only used

if the element is not eternal. TTL is now - creation time

overflowToDisk - Sets whether elements can overflow to disk when the in-memory cache

has reached the maxInMemory limit.

-->

<!-- Sample cache named sampleCache1

This cache contains a maximum in memory of 10000 elements, and will expire

an element if it is idle for more than 5 minutes and lives for more than

10 minutes.

If there are more than 10000 elements it will overflow to the

disk cache, which in this configuration will go to wherever java.io.tmp is

defined on your system. On a standard Linux system this will be /tmp"

-->

<cache name="sampleCache1"

maxElementsInMemory="10000"

eternal="false"

timeToIdleSeconds="300"

timeToLiveSeconds="600"

overflowToDisk="true"

/>

<!-- Sample cache named sampleCache2

This cache contains 1000 elements. Elements will always be held in memory.

They are not expired. -->

<cache name="sampleCache2"

maxElementsInMemory="1000"

eternal="true"

timeToIdleSeconds="0"

timeToLiveSeconds="0"

overflowToDisk="false"

/> -->

<!-- Place configuration for your caches following -->

</ehcache>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: