初學hibernate,調用session的save方法不起作用的解決

最近開始研究hibernate,配置文件就緒,mapping文件就緒,session工廠就緒,拿到session小試牛刀一下,程序沒有出現異常,正準備驚喜的看一下數據庫中的數據時發現數據並沒有插入到數據庫中,我的調用代碼是這樣的
Session session = MySessionFactory.getSession();
		User user = new User();
		user.setID(1003);
		user.setUsername("wowo");
		user.setPwd("111111");
		user.setSex('男');
		user.setAge(24);
		Serializable s = session.save(user);
		System.out.println(s);

爲什麼沒有數據呢,我就開始查看session提供的方法,發現有個flush方法,是不是save完後需要刷新啊,結果加上flush,還是不行,臥槽,鬱悶了,也沒有出現異常。後來看人家使用hibernate時save方法都在事物裏,是不是需要放在事物裏,結果把代碼改爲

Transaction transaction = session.beginTransaction();
		transaction.begin();
		User user = new User();
		user.setID(1003);
		user.setUsername("wowo");
		user.setPwd("111111");
		user.setSex('男');
		user.setAge(24);
		Serializable s = session.save(user);
		System.out.println(s);
		transaction.commit();

YES,正解,就是需要放在事物中!還不是特別瞭解hibernate,暫時這樣的方式可以將數據插入數據庫中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章