首页 > Web开发 > 详细

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

时间:2015-12-28 18:41:38      阅读:173      评论:0      收藏:0      [点我收藏+]
@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 保存数据不一样

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!