hibernate 有关数据更新(不一定用到update方法)
在介绍hibernate的更新之前,我们先来看看session的两个方法。load和get方法;这两个方法是获取数据的根据对象的id值;
先看两段代码。load和get的方法都含有两个参数,前者是得到的对象类型。后者是一个可序列化的值,说白了也就是你要获取数据库里面对应的主键的值,你的主键如果是id。你获取的是第一条记录那么则是一,如果你的主键是name。你就写上某个名字。然后获取这个名字对应的数据记录。
?
当我们执行下面两条语句的时候,我们会发现第一条报错。而第二条是没有什么问题的。
?
但是如果我们把两个里面的打印语句都写到commit之前的时候。我们发现两个都不会报错了。
?
?
?
? 这样就会自动更新。但是我们的自动更新某些需要更新的列的话,我们必须要在同一个session中。不同的session。找不到参考依据的话,那么也会集体更新的。
?
?
?
@Testpublic void testupdate2(){Session session =null;session =sessionFactory.getCurrentSession();session.beginTransaction(); Query q=session.createQuery("update tablename set name='wsx' where id=1 "); q.executeUpdate(); session.getTransaction().commit(); }?
??我们很多情况下用到第三种方式。 好了更新就讲到这儿。
?
?
?
?