问题描述
public static void main(String[] agrs) {Session session = null;try{session = HibernateSessionFactory.getSession();News news = new News();news.setAddtime(new Date());news.setNewscontent("aaa");news.setTitle("bbb");session.save(news);} catch(Exception e) {e.printStackTrace();} finally{session.close();}}Hibernate: insert into bookstore.news (title, newscontent, addtime) values (?, ?, ?)这是控制台打印出来的语句,Hibernate自动打印出来的所以执行了,操作,但是如果操作失败了,也会打印出异常信息,但是没有任何异常信息。也没有插入数据成功。 问题补充:asyty 写道
解决方案
有没有commit?插入事务使用transaction类来保证事务性public static void main(String[] agrs) { Session session = null; try{ session = HibernateSessionFactory.getSession(); News news = new News(); news.setAddtime(new Date()); news.setNewscontent("aaa"); news.setTitle("bbb"); Transaction t = session.beginTransaction(); session.save(news); t.commit(); } catch(Exception e) { e.printStackTrace(); } finally{ session.close(); } }
解决方案二:
或者你可以在spring里配置hibernate 这样hibernate的事务就交给sping管理了
解决方案三:
引用但是如果不需要事务该怎么设置呢?可以使用在session.save()后面使用session.flush()试试为什么不用commit?很奇怪。。。