Hibernate源码分析:入门代码流程

来自Wikioe
Eijux讨论 | 贡献2022年6月13日 (一) 03:39的版本 (创建页面,内容为“category:Hibernate == 关于 == 对于入门的代码案例,分析其执行流程,有助于理解其设计并熟悉 API 的使用。 入门代码: : <syntaxhighlight lang="Java" highlight=""> class HibernateTest{ @Test public void testDemo() { // 加载 hibernate 核心配置文件 Configuration cfg = new Configuration(); cfg.configure(); // 根据 hibernate 核心配置文件内容,创建 sessionFactory SessionFactory sessionFacto…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索


关于

对于入门的代码案例,分析其执行流程,有助于理解其设计并熟悉 API 的使用。

入门代码:

class HibernateTest{
	@Test
	public void testDemo() {
		// 加载 hibernate 核心配置文件
		Configuration cfg = new Configuration();
		cfg.configure();
		
		// 根据 hibernate 核心配置文件内容,创建 sessionFactory
		SessionFactory sessionFactory = cfg.buildSessionFactory();
		
		// 使用 SessionFactory 创建 session 对象
		Session session = sessionFactory.openSession();
		// Session session = sessionFactory.grtCurrentSession();
		
		
		// 使用事务
		Transaction tx = null;
		
		try{
			// 开启事务
			tx = session.beginTransaction();
			
			// 逻辑代码
			User user = new User();
			user.setUsername("Eijux");
			user.setPassword("123456");
			user.setAddress("成都");
			
			session.save(user);
			
			// 提交事务
			tx.commit();
		}catch(HibernateException e){
			if(tx != null){
				// 回滚事务
				tx.rollback();
			}
			throw e;
		}finally{
			if(session != null){
				// 关闭 session
				session.close();
			}
		}
		

		// 关闭 sessionFactory
		sessionFactory.close();
	}
}

加载核心配置文件

创建 sessionFactory

创建 session

事务