码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate个人学习笔记(1)

时间:2016-03-14 00:19:31      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

连接池c3p0所需jar包:
Hiberbate开发包-lib-optional-c3p0下全部Jar包

Hiberbate连接池参数配置:
Hiberbate开发包-project-etc-hibernate.properties

hiberbate.cfg.xml参数(放在src下):
<session-factory>
<!--配置mysql数据库连接参数-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!--c3p0连接池参数-->
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvidr</property>
<property name="hibernate.dialect">10</property>
<property name="hibernate.dialect">5</property>
<property name="hibernate.dialect">5000</property>
<property name="hibernate.dialect">10</property>
<!--打印方法执行sql与相关格式化操作-->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql>true</property>
<!--加载对象关系映射文件-->
<mapping resource="com/.../.../.xml"/>
</session-factory>

<!--对象关系映射文件常见标记-->
Xxxx.hbm.xml--放在同名同类包下
hibernate-mapping根标记、在根标记下的属性可定义些全局的设置
class--定义一个持久化的实体类 他的两个属性为name和table
name="类路径" table=要实体化的表(数据库表)
id--数据库表中的字段映射 他的两个属性为name和column
name=上面class的name的实体化类中定义的变量 column表中的字段名
id


session缓存的作用:
。减少访问数据库的频率
。保证缓存中的对象与数据库中的数据同步
。当缓存中的持久化对象之间存在循环关联关系时,session会保证不出血访问对象图的死循环,一级由死循环引起的JVM堆栈溢出异常

。当应用程序调用Transaction的commit()方法时,commit()方法会清理缓存,然后再向数据库提交事务
。当应用程序中显示调用session的flush()方法水,通过session的setFushMode(FlushMode fm)方法来设定清理缓存的时间点
FlushMode.ALWAYS和FlushMode.AUTO(默认)会清理全部缓存

持久化应用的生命周期
。瞬时(Transient)状态
。持久化(Persistent)状态
。脱管(detached)状态
。移除(removed)状态

Hibernate个人学习笔记(1)

标签:

原文地址:http://www.cnblogs.com/dongguacha/p/5274121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!