hibernate在同一session种处理两种不同的对象

原来用hibernate一直都是一个session操作一个对象,今天上司指导了一下,原来hibernate中一个session是可以处理两种不同的对象的,这种情况还是蛮少遇到的,所以记录一下

	public void modifyGroup(GroupPO group,List<UserPO> list) throws Exception {
		// 修改Group
		Session session = null;
		Transaction trans = null;
		try {
			session = HibernateSessionFactory.getSession();
			trans = session.beginTransaction();
			session.update(group);
			// 在hibernate中配置的关系
			Set<UserPO> UserSet = group.getBusinessUsers();
			for(UserPO temp:UserSet) {
				temp.setUserID(temp.getId());
			}
			// 删除老的User关系
			for(UserPO User:list) {
				session.delete(User);
			}
			trans.commit();
		} catch(Exception e) {
			if (trans != null) {
				trans.rollback();
			}
			// throw Exception
			throw e;
		} finally {
			// close session
			if (session != null) {
				session.close();
			}
		}
	}


 

你可能感兴趣的:(hibernate在同一session种处理两种不同的对象)