- sessionFactory.openSession和sessionFactory.getCurrentSession
openSession 会新建一个session,需要close
getCurrentSession在session没有提交之前(session.getTransaction().commit()),从上下文找,如果有,用旧的session,session一旦提交,拿的就是新的了。
1)用途,界定事务边界
2)事务提交,自动close
3)current-session_context_class(jta thread)(java transaction api)
a)thread使用connection
b)jta需要中间件支持(Tomcat不支持)
分享到:
相关推荐
然而,使用Hibernate的过程中,开发者需要特别注意一些关键点,以确保应用的稳定性和性能。本文将探讨在使用Hibernate时可能遇到的问题,特别是关于数据源的配置。 首先,我们来理解什么是数据源。数据源是Java中用...
以下是对Hibernate的一些关键知识点的详细说明: 1. **异常处理**: 在描述中提到的`org.hibernate.PropertyValueException: not-null property references a null or transient value`是Hibernate抛出的一个常见...
Hibernate AIP,全称为Hibernate Application ...通过熟练掌握这些知识点,开发者可以高效地在Java项目中整合和利用数据库资源,实现更简洁、可维护的代码。在实践中,不断学习和探索,才能更好地发挥Hibernate的威力。
### 优化Hibernate性能的几点建议 #### 一、调整Fetch Size以提高性能 在使用Hibernate进行数据查询时,Fetch Size的设置对性能有着显著的影响。Fetch Size是指每次从数据库中取出的数据行数,默认情况下,Oracle...
### Struts2、Spring与Hibernate整合的关键点及注意事项 #### 一、概述 在Java Web开发领域,Struts2、Spring以及Hibernate是三个非常重要的框架。它们分别在MVC架构、依赖注入与业务逻辑管理、对象关系映射等方面...
Hibernate3 是一个强大的Java持久化框架,它允许开发者将数据库操作与业务逻辑解耦,使得应用程序的开发更为简便。...但要注意,使用前需阅读并遵守jboss-LICENSE.txt中的许可条款,确保合法合规使用。
然而,值得注意的是,尽管Middlegen简化了开发流程,但其自动生成的代码可能并不完全符合项目的特定需求,因此在实际使用中,往往需要对生成的代码进行适当的调整和优化。 总结来说,Hibernate扩展Middlegen-...
在"基于hibernate的简单留言本"项目中,理解并熟练掌握以上知识点是至关重要的。这个项目为初学者提供了实战经验,让他们更好地理解和运用Hibernate框架。通过此项目,开发者不仅可以熟悉Hibernate的基本操作,还能...
注意,不应使用final修饰类,因为这将影响Hibernate的动态代理机制。 2. 持久对象标识OID Hibernate通过对象标识(OID)来区分不同的持久化对象,它相当于数据库中的主键,使得对象与数据库记录一一对应。 总结:...
下面将详细介绍与标题、描述及部分代码相关的几个核心知识点: ### Hibernate 连表查询基础 Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发人员将Java对象模型映射到数据库表,并在对象和数据库之间...
然而,也需要注意到,过度依赖ORM可能导致性能问题,因此在设计大规模应用时,需要合理使用ORM并结合原生SQL进行优化。 总之,这个“Hibernate驱动包”是Java开发中的重要工具,为开发者提供了强大的数据库操作支持...
- 使用IDEA内置的JAR包(注意IDEA内置版本可能不是最新)。 - 自动导入JAR包。 对于本项目,推荐使用本地的Hibernate JAR包,这样可以确保使用最新版本的Hibernate。在项目的`lib`目录下,通常包含多个JAR包,但...
7. **事务管理**:在整合 Hibernate 和 Ehcache 时,必须注意事务管理,确保缓存与数据库的一致性。通常,缓存更新会在事务提交后进行,以防止脏读。 8. **性能优化**:通过监控和调整 Ehcache 参数,可以进一步...
- 注意事务的隔离级别和回滚规则,确保数据一致性。 - 避免在循环中进行大量的数据库操作,尽量批量处理。 7. **学习资源** - 官方文档:提供详细的API参考和教程。 - 示例代码:通过实际的项目或样例代码来...
- **注意事项**:`Session` 不是线程安全的,多个线程共享一个 `Session` 可能会导致数据混乱。可以使用 `ThreadLocal` 变量来解决这个问题,确保每个线程都有自己的 `Session` 实例。 #### 三、使用 Hibernate 的...
本文主要讨论从Hibernate 2升级到Hibernate 3的过程中需要注意的关键步骤,这对于使用SSH(Spring、Struts和Hibernate)框架的项目尤其重要。 首先,升级的第一步涉及替换jar包。将旧版本的Hibernate 2.1.jar替换为...