内容简介:命名查询配置注意:在获取局部配置的命名查询时要使用该类的完整包名连接池配置
命名查询配置
</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
步骤一:导入c3p0 jar包
步骤二:hibernate.cfg.xml配置
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,串行化。单事务。没有问题
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/24284.html
微信打赏
支付宝打赏
感谢您对作者Alex的打赏,我们会更加努力! 如果您想成为作者,请点我
以上所述就是小编给大家介绍的《在hibernate中配置事务级别与命名查询配置【原创】》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Hadoop联邦机制实现多命名空间详细配置说明-Hadoop商业环境实战
- 《思科CCIE RSv5.0实验指南》笔记No.11 配置命名的EIGRP
- 前端开发之Pascal命名规范 & BEM命名规范
- C# 中新增类型的命名空间只需部分与其他命名空间名称相同即可破坏源码兼容性
- 未命名
- Java~命名规范
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
游戏编程中的人工智能技术
布克兰德 / 吴祖增 / 清华大学出版社 / 2006-5 / 39.0
《游戏编程中的人工智能技术》是人工智能游戏编程的一本指南性读物,介绍在游戏开发中怎样应用遗传算法和人工神经网络来创建电脑游戏中所需要的人工智能。书中包含了许多实用例子,所有例子的完整源码和可执行程序都能在随书附带的光盘上找到。光盘中还有不少其他方面的游戏开发资料和一个赛车游戏演示软件。 《游戏编程中的人工智能技术》适合遗传算法和人工神经网络等人工智能技术的各行业人员,特别是要实际动手做应用开......一起来看看 《游戏编程中的人工智能技术》 这本书的介绍吧!