Qcache usage="read-write"/Q? |
Qcache name="com.xxx.pojo.Foo" maxElementsInMemory="500" eternal="false" timeToLiveSeconds="7200" timeToIdleSeconds="3600" overflowToDisk="true" /Q? |
Qcache name="net.sf.hibernate.cache.StandardQueryCache" maxElementsInMemory="50" eternal="false" timeToIdleSeconds="3600" timeToLiveSeconds="7200" overflowToDisk="true"/Q? Qcache name="net.sf.hibernate.cache.UpdateTimestampsCache" maxElementsInMemory="5000" eternal="true" overflowToDisk="true"/Q? |
query.setCacheable(true);//ȀzL询缓? query.setCacheRegion("myCacheRegion");//指定要用的cacheRegionQ可? |
Qcache name="myCacheRegion" maxElementsInMemory="10" eternal="false" timeToIdleSeconds="3600" timeToLiveSeconds="7200" overflowToDisk="true" /Q? |
from Cat c where c.name like ? |
select * from cat c where c.name like ? |
select * from cat c where c.name like ? , parameter:tiger% |
Qcache usage="read-write"/Q? |
Qcache name="com.xxx.pojo.Cat.children" maxElementsInMemory="20" eternal="false" timeToIdleSeconds="3600" timeToLiveSeconds="7200" overflowToDisk="true" /Q? |
void evict(Class persistentClass) Evict all entries from the second-level cache. void evict(Class persistentClass, Serializable id) Evict an entry from the second-level cache. void evictCollection(String roleName) Evict all entries from the second-level cache. void evictCollection(String roleName, Serializable id) Evict an entry from the second-level cache. void evictQueries() Evict any query result sets cached in the default query cache region. void evictQueries(String cacheRegion) Evict any query result sets cached in the named query cache region. |
我们所做的W一件事是创徏我们的开发目录,q且把所有需要用到的Java库文件放q去。万q的是我们有了myeclipseQ由他创建的工程可以很方便地打包Q然后交l另一个同h有myeclipse的用者,只需要简单的导入卛_使用^_^
右键工程目录 ?myeclipse ?Add Hibernate…?/u>
q样子你的工E就可以导入Hibernate所需要的所有库文gQ接下来我们创徏一个类Q用来代表那些我们希望储存在数据库里的event?
一个映文件的基本l构看v来像q样Q?/p>
?code class="literal">hibernate-mapping标签QtagQ之? 含有一?code class="literal">class元素。所有的持久化实体类Q再ơ声明,或许接下来会有依赖类Q就是那些次要的实体Q都需要一个这L映射Q来把类对象映射到SQL数据库里的表?
id
元素是标识符属性的声明Q?code class="literal">name="id"
声明了Java属性的名字 Q?Hibernate会?code class="literal">getId()?code class="literal">setId()来访问它?column
属性则告诉Hibernate, 我们使用EVENTS
表的哪个字段作ؓ主键。嵌套的generator
元素指定了标识符生成{略Q在q里我们指定native
Q它Ҏ(gu)已配|的数据库自动选择最佳的标识W生成策略。Hibernate支持由数据库生成Q全局唯一性(globally
uniqueQ和应用E序指定Q或者你自己ZQ何已有策略所写的扩展Q这些策略来生成标识W?
Admin
对象q把它传递给Hibernate。现在Hibernate负责与SQL打交道,q把INSERT
命o传给数据库。在q行之前Q让我们看一下处?code class="literal">Session?code class="literal">Transaction的代码?Session
和数据库事务是一一对应的?br />HibernateSessionFactory.getSession()是干什么的呢?q回“当前的”工作单元?br />getTransaction()则表C取Z个事务对象,commit()则是事务的提交,卛_~存中的数据写入数据库?br />