大家好,问一个object转换成具体类类型的问题:现在有多个表,想要用hibernate的save方法想表中插入对象,但是不想每个表写个方法,请高手帮忙。也就是我传入参数为object类型,想要转换为具体的类类型,怎么转换?

解决方案 »

  1.   

    HibernateTemplate().save(entity)这个不需要你每个写一次的,但是entity是Hibernate的POJO,必须得传入相应的,不能简单的传入object。虽然你可以把Hibernate的那个映射对象直接用来作为页面里面的那个form。不过不建议那样来。还是另外写一个对于Form的Info。
    把相关数据set进POJO
      

  2.   

    例如我有两张表:学生表student,课程表course。生成两个pojo类Student,Course。
    我的方法是
    public boolean insert(Object o)
    {
    boolean b=false;
    Session session=getSession();
    Transaction tx=session.beginTransaction();
    try{
    session.save(o);
    tx.commit();
    b=true;
    }
    catch(Exception e)
    {
    tx.rollback();
    }
    finally
    {
    session.close();
    }
    return b;
    }
    如果我传入的是一个Course类,能直接保存到course表中嘛?
      

  3.   

    谢谢,我的方法是
    public boolean insert(Object o) 

    boolean b=false; 
    Session session=getSession(); 
    Transaction tx=session.beginTransaction(); 
    try{ 
    session.save(o); 
    tx.commit(); 
    b=true; 

    catch(Exception e) 

    tx.rollback(); 

    finally 

    session.close(); 

    return b; 

    我想问一下形参应该是什么类型,是Object嘛?我传入的参数o是具体的hibernate的pojo类
      

  4.   

    哦,根据2 3楼的意见我照着做了,能行,非常感谢!
    public boolean insertObject(Object o)
    {
    boolean b=false;
    Session session=getSession();
    Transaction tx=session.beginTransaction();
    try{
    session.save(o);
    tx.commit();
    b=true;
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    tx.rollback();
    }
    finally
    {
    session.close();
    }
    return b;
    }
    传进来的o可为任意类型,正如2楼所说是hibernate的pojo类就可以