[code="java"]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();
}
}
[/code]
Hibernate: insert into bookstore.news (title, newscontent, addtime) values (?, ?, ?)
这是控制台打印出来的语句,Hibernate自动打印出来的
所以执行了,操作,但是如果操作失败了,也会打印出异常信息,但是没有任何异常信息。也没有插入数据成功。
有没有commit?
插入事务使用transaction类来保证事务性
[code="java"]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();
}
} [/code]
[quote]但是如果不需要事务该怎么设置呢?[/quote]
可以使用在session.save()后面使用session.flush()试试
为什么不用commit?很奇怪。。。
或者你可以在spring里配置hibernate 这样hibernate的事务就交给sping管理了