Hibernate对象生命周期及crud操作
2019-06-10
| 持久化 | 阅读 | 974 字 | 4 分钟1、对象状态及生命周期

2、new→save→close→update
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| public void testSave(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = new User(); user.setName("刘德华"); user.setPwd("2222"); session.save(user); user.setName("学友"); session.flush(); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } System.out.println("姓名:"+user.getName()); user.setName("朝伟"); try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); session.update(user); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } }
|
3、get/load(持久)→delete(瞬时);get/load(持久)→colse(游离)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| @Test public void testLoad(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = (User)session.load(User.class,1) ; System.out.println("姓名:"+user.getName()); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } } @Test public void testGet(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = (User)session.get(User.class, 1) ; System.out.println(user); user.setName("张三"); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } user.setName("siggy"); System.out.println("============"); try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); session.update(user); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } } @Test public void testGet1(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = (User)session.get(User.class, 2) ; session.delete(user); user.setName("王五"); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); }
}
|
4、update方法:先获取对象再更新
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| @Test public void testUpdate(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = new User(); user.setId(10); user.setName("paul"); session.update(user); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); }
} @Test public void testUpdate1(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = (User)session.get(User.class, 1); user.setName("t_bag"); user.setPwd("3333"); session.update(user); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } }
|
5、delete方法:先更新,再删除→可以避免异常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| @Test public void testDelete(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = new User(); user.setId(3); session.delete(user); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } } @Test public void testDelete1(){ Session session=null; Transaction tx=null; User user=null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); user = (User)session.get(User.class, 1); if(user!=null) session.delete(user); tx.commit(); } catch (Exception e) { e.printStackTrace(); tx.rollback(); }finally{ HibernateUtil.closeSession(); } }
|
本文标题:Hibernate对象生命周期及crud操作
文章作者:foreverSFJ
发布时间:2019-06-10 17:52:25
最后更新:2019-06-10 17:52:25
原始链接:Notes/Java/Persistence/Hibernate/对象生命周期及crud操作.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
分享