Hibernate错误

1.Field 'id' doesn't have a default value

    原来是我的数据设计的时候,把主键的类型定义为int的,原本想是用自增的方式来的,可是由于自己的粗心,写sql语句的时候没有加上auto_increment,

所以在数据存储的时候老是报Field 'id' doesn't have a default value,id根本就没有值啊!!

 

2.Could not synchronize database state with session

不能在两个sessionFactory中交叉操作

public class UserService {
    
    public static void  save(String uname, String pwd, String telNum, String realName,
            String gender, String email){
        SessionFactory sf = HibernateUtil.getSessionFactory();                     //本身已有sf
        Session session = sf.openSession();
        Transaction tx = session.beginTransaction();
        User u = new User(uname,pwd,telNum,realName,gender,email);
        session.save(u);
        tx.commit();
        session.close();
    }
}

然后在测试文件中又创建新的sf

public class UserTest {
    private static SessionFactory sf;
    
    @BeforeClass
    public static void init(){
        sf = new AnnotationConfiguration().configure().buildSessionFactory();             //新建sf
    }
    
    @AfterClass
    public static void destory(){
        sf.close();
    }
    
    @Test
    public void saveUser(){
        
        UserService.save("guan", "guan", "15999828993", "ling", "男", "1396636115@qq.com");     //报错
    }
}

 

posted @ 2013-08-27 15:38  等风来。。  Views(205)  Comments(0Edit  收藏  举报
------------------------------------------------------------------------------------------------------------ --------------- 欢迎联系 x.guan.ling@gmail.com--------------- ------------------------------------------------------------------------------------------------------------