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"); //报错 }
}