在hibernate中配置事务级别与命名查询配置【原创】

栏目: Hibernate · 发布时间: 7年前

内容简介:命名查询配置注意:在获取局部配置的命名查询时要使用该类的完整包名连接池配置

命名查询配置

</pre>
<div align="left"><hibernate-mapping package="b_lazy.one2many"></div>
<div align="left">     <class name="User" table="t_user"></div>
<div align="left">          <id name="id" column="id"></div>
<div align="left">              <generator class="native"></generator></div>
<div align="left">          </id></div>
<div align="left">          <property name="name" column="name"></property></div>
<div align="left">          <property name="password" column="password" ></property></div>
<div align="left">          <set name="addresss" cascade="all"  batch-size="4"></div>
<div align="left">              <key column="user_id"></key></div>
<div align="left">              <one-to-many class="Address" /></div>
<div align="left">          </set></div>
<div align="left">          <!-- 局部配置 --></div>
<div align="left">          <query name="b"><![CDATA[from User]]></query></div>
<div align="left">     </class></div>
<div align="left">     <!-- 全局配置 --></div>
<div align="left">     <query name="a"><![CDATA[from User]]></query></div>
<div align="left">
<div></hibernate-mapping></div>
<div></div>
<div align="left">@Test</div>
<div align="left">     //获取局部</div>
<div align="left">     public void test1() throws Exception {</div>
<div align="left">          Session session=HibernateUtil.getSession();</div>
<div align="left">          session.beginTransaction();</div>
<div align="left">          Query query=session.getNamedQuery("b_lazy.one2many.User.b");</div>
<div align="left">          List<User> list=query.list();</div>
<div align="left">          for (User user: list) {</div>
<div align="left">              System.out.println(user);</div>
<div align="left">          }</div>
<div align="left"></div>
<div align="left">          session.beginTransaction().commit();</div>
<div align="left">          session.close();</div>
<div align="left">
<div>     }</div>
</div>
<div align="left">     //获取全局</div>
<div align="left">     @Test</div>
<div align="left">     public void test2() throws Exception {</div>
<div align="left">          Session session=HibernateUtil.getSession();</div>
<div align="left">          session.beginTransaction();</div>
<div align="left">          Query query=session.getNamedQuery("a");</div>
<div align="left">          List<User> list=query.list();</div>
<div align="left">          for (User user: list) {</div>
<div align="left">              System.out.println(user);</div>
<div align="left">          }</div>
<div align="left"></div>
<div align="left">          session.beginTransaction().commit();</div>
<div align="left">          session.close();</div>
<div align="left">
<div>     }</div>
</div>
</div>
<pre>

注意:在获取局部配置的命名查询时要使用该类的完整包名

连接池配置

*

整合c3p0

在hibernate中配置事务级别与命名查询配置【原创】

步骤一:导入c3p0 jar包

在hibernate中配置事务级别与命名查询配置【原创】

步骤二:hibernate.cfg.xml配置

在hibernate中配置事务级别与命名查询配置【原创】 hibernate.connection.provider_class org.hibernate.connection.C3P0ConnectionProvider

c3p0具体配置参数

###########################

### C3P0 Connection Pool###

###########################

#hibernate.c3p0.max_size 2

#hibernate.c3p0.min_size 2

#hibernate.c3p0.timeout 5000

#hibernate.c3p0.max_statements 100

#hibernate.c3p0.idle_test_period 3000

#hibernate.c3p0.acquire_increment 2

#hibernate.c3p0.validate false

1. 在hibernate中配置事务级别

2. 事务:一组业务操作,要么全部成功,要么全部不成功。

3. 特性:ACID

原子性:整体

一致性:数据

隔离性:并发

持久性:结果

隔离问题:

脏读:一个事务读到另一个事务未提交的内容

不可重复读:一个事务读到另一个事务已提交更改的内容

虚读(幻读):一个事务读到另一个事务已提交新插入的内容

隔离级别–解决问题

read uncommittd,读未提交。存在3个问题。

read committed,读已提交。解决:脏读。存在2个问题。

repeatable read ,可重复读。解决:脏读、不可重复读。存在1个问题。

serializable,串行化。单事务。没有问题

在hibernate中配置事务级别与命名查询配置【原创】

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/24284.html

在hibernate中配置事务级别与命名查询配置【原创】

在hibernate中配置事务级别与命名查询配置【原创】 微信打赏

在hibernate中配置事务级别与命名查询配置【原创】 支付宝打赏

感谢您对作者Alex的打赏,我们会更加努力!    如果您想成为作者,请点我


以上所述就是小编给大家介绍的《在hibernate中配置事务级别与命名查询配置【原创】》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

第四次革命

第四次革命

[意]卢西亚诺•弗洛里迪(Luciano Floridi)著 / 王文革 / 浙江人民出版社 / 2016-5 / 64.90元

 随着线上线下大融合以及人工智能的极大发展,人类已经进入超历史时代。在这一时代中,人类终于迎来了继哥白尼革命、达尔文革命、神经科学革命之后自我认知的第四次革命——图灵革命,整个世界正化身为一个信息圈,每个人都生活在云端,人类已不再是信息圈毋庸置疑的主宰。毫无疑问,图灵革命引爆了人工智能重塑整个人类社会的序曲!  那么在人工智能时代,人类如何保证自己最钟爱的财富——“隐私”不被窃取?如何应......一起来看看 《第四次革命》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具