如何处理Spring / Hibernate中的双插入

时间:2014-11-04 10:10:55

标签: mysql spring hibernate

我必须在表(User)中添加实体(User)。 如果插入操作正确,我必须知道插入的最后一个用户的ID(自动增量字段),并使用它在另一个表(角色)中插入一些值。

如果在插入Role表时出现一些问题,我甚至要删除以前插入到User表中的记录。换句话说,我的表必须匹配。

使用Spring和Hibernate处理这个问题的正确方法是什么?我是两个人的初学者。

    User                            Role
-------------                -------------------
Id | Username                Id_user |  Role  
-------------                -------------------
 1 | Mark                       1    | Admin
 2 | Bob                        2    | User 
--------------               -------------------
 /\                            /\
  ------------------------------

我正在尝试这样的事情,但当我尝试"手动"制作一个rollBack()(只是为了理解它是如何工作的),我得到并且错误(交易未成功启动

    ..........
    try{
        Session session = getHibernateSession();
        session.beginTransaction();           
        session.saveOrUpdate(utente);         
        session.getTransaction().commit();
        session.getTransaction().rollback(); /// here I was try to "manually" rollback
        HibernateUtil.shutdown();
    }
    catch(Exception e){ 
        ......              
    }   

0 个答案:

没有答案