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

hibernateTemplate 与 hibernate session save 保存数据不一样

时间:2015-12-28 18:42:17      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:save

@Test
	public void test() {

		ApplicationContext ac = new ClassPathXmlApplicationContext(
				"spring_dao.xml");
		SessionFactory sessionfactory = (SessionFactory) ac
				.getBean("sessionfactory");
		Company cp = new Company();
		cp.setCompany_name("公司name");
		cp.setCompany_description("描述");
		Session session = sessionfactory.openSession();
		System.out.println("hibernate:" + session.getFlushMode());
		UserInfo ui = new UserInfo();
		ui.setCompany_name("dsf");
		session.save(ui);
		session.flush();
	    ui.setCompany_name("company_name_test....");
	    session.save(ui);
	    ui.setDepartment_description("描述...");
	    session.flush();
	    session.save(ui);
	    session.flush();
		BaseDao bd = new BaseDao();
		bd.setSessionFactory(sessionfactory);
		System.out.println(bd.getHibernateTemplate().getFlushMode());
		System.out.println(bd.getHibernateTemplate().getSessionFactory()
				.openSession().getFlushMode());
		bd.getHibernateTemplate().save(cp);
		cp.setCompany_name("test————company--");
		bd.getHibernateTemplate().save(cp);
	}


结果:

hibernate:AUTO

Hibernate: insert into t_userinfo (t_username, t_password, t_department_uuid, t_department_tier1level, t_department_tier2level, t_department_tier3level, t_department_description, t_company_id, t_company_name, t_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

Hibernate: update t_userinfo set t_username=?, t_password=?, t_department_uuid=?, t_department_tier1level=?, t_department_tier2level=?, t_department_tier3level=?, t_department_description=?, t_company_id=?, t_company_name=? where t_id=?

1

AUTO

Hibernate: insert into t_company (t_company_name, t_company_description, t_company_uuid) values (?, ?, ?)

Hibernate: insert into t_company (t_company_name, t_company_description, t_company_uuid) values (?, ?, ?)



hibernate 默认的 save 之后 不 flush 不clear  数据 所以是insert 之后 是update数据

hibernateTemplate  默认的是操作之后  flush 数据clear数据  所以一直是insert into 数据


hibernateTemplate 与 hibernate session save 保存数据不一样

标签:save

原文地址:http://yjm199.blog.51cto.com/4408395/1729211

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