SnippetShare 项目总结连载(十) -- hibernate 删除多对多关系(单向)

 

SnippetShare 项目总结连载(十) --  hibernate 删除多对多关系(单向)

Luo Weifeng 2011-6-25

 

说明:本系列文章为作者自己看或在web开发特别初级的人看,高手和中手绕过。

 

测试的时候,取消多对多关系的那段hibernate代码一直没有效果,调试了很长时间,终于探索出这个方法。如下

 

 

public void deleteSnippetInUserInfo(int userInfoid,int snippetid) { Session session = sessionFactory.openSession(); Transaction tx = null; try { tx = session.beginTransaction(); UserInfo userInfo = (UserInfo) session.get(UserInfo.class, userInfoid); Snippet snippet = (Snippet) session.get(Snippet.class, snippetid); Set<Snippet> l =userInfo.getSnippets(); l.remove(snippet); userInfo.setSnippets(l); session.update(userInfo); tx.commit(); } catch (RuntimeException e) { if (tx != null) { tx.rollback(); } throw e; } finally { session.close(); } }  

你可能感兴趣的:(Hibernate,session,web开发,测试,null)