Hibernate-学习笔记04-数据更新方法
?
试验目的:
更新数据库中某一字段,其余字段不变。
?
(1)使用Update()方法
查阅Hibernate API(Hibernate_3.2.0_Reference_zh_CN.chm)得到Update()方法有:
update(Object object)
update(Object object, Serializable id)
update(String entityName, Object object)
update(String entityName, Object object, Serializable id)
?
很不幸运的事我的MyEclipse中只有一下方法(我用的是hibernate3.3.2,比API版本要高...我表示无语)
update(Object object)
update(String entityName, Object object)
?
测试代码:
Teacher teacher = new Teacher();SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();Session session = sf.getCurrentSession();session.beginTransaction();Query query = session.createQuery("update Teacher t set t.name='Toms' where t.id=5");query.executeUpdate();session.getTransaction().commit();?Hibernate产生SQL语句:
?update
??????? _Teacher
??? set
??????? name='Toms'
??? where
??????? id=5
数据显示结果:
?5 | 2011-04-13 08:22:21 | Toms? | XX
?
结论:该方法同样可以满足实验要求,同时又能做到执行时候只发送需要修改字段的SQL语句,同时有使用到了HQL面向对象的语句,这种方法在项目中比较常用,是解决Update的首选方法。
?
?
?