public static void testUpdate1() {

Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
Teacher t = (Teacher)session.get(Teacher.class, 1);
System.out.println(t);//t返回为空;为什么》???
session.getTransaction().commit();

t.setName("zhanglaoshi");

Session session2 = sessionFactory.getCurrentSession();
session2.beginTransaction();
session2.update(t);

session2.getTransaction().commit();
}希望高手指点,谢谢

解决方案 »

  1.   

    public static void testUpdate1() {Session session = sessionFactory.getCurrentSession();
    session.beginTransaction();
    Teacher t = (Teacher)session.get(Teacher.class, 1);//谁知道 你的ID 有没有 1的
    System.out.println(t);//t返回为空;为什么》???
    session.getTransaction().commit();//查询用不着事务t.setName("zhanglaoshi");Session session2 = sessionFactory.getCurrentSession();
    session2.beginTransaction();
    session2.update(t);session2.getTransaction().commit();
    }
      

  2.   

    你这个方法我看不出来给你个简单的方法吧 查询不用事务,即使用事务,也不是这么得到事务对象的
    你先写hql语句 然后用this.getsession.createquery(hql)
    参数用query。setpartmeter(0,参数)
    最后用query.list()就行了。得到的是集合对象。
    事务是
    transaction t=this.getsession.gettransaction()
    t.open()
    ...
    ...
    t.commit()
    t.close()