今天新建了一个Web Project,添加了Spring和hibernate的特性。在Spring的MVC中使用DAO保存的时候,发现数据库里没有记录,而且也不报错。很奇怪,问了群里朋友,说要配置事务。于是自己在DAO的implement类里添加了事务处理的代码,如下:
public void save(User user) { final User UserDate = user; transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.execute(new TransactionCallbackWithoutResult() { protected void doInTransactionWithoutResult(TransactionStatus status){ try { hibernateTemplate.save(UserDate); } catch (Exception e) { e.printStackTrace(); status.setRollbackOnly(); } } }); }
还可以用Spring配置文件的方式,配置文件的方式更灵活些。大家参考网上的文章吧。
自己还是不太明白,为什么不用事务就不行。昨天在Java project下不用事务也可以save,今天就不行了。继续学习吧。