前几天使用Hibernate,当输入
Transaction tx=session.beginTransaction();
提示我
session.beginTransaction();
要进行类型转换,即要
(Transaction)session.beginTransaction();
但文档上session.beginTransaction()的返回类型就是Transaction啊,既然不报错,也就没多想。可当我写到
tx.commit();
的时候,需要捕获一大堆的异常,我很奇怪,找了很久也没发现问题,最后发现Session类是在org.hibernate包中的,session.beginTransaction()返回的类型也是此包中的,而我Transaction导入包的时候直接根据MyEclipse提示导入的,没多看,导入的是javax.transaction包,因此两个包不同,就需要转换类型。其实使用JavaEE这些框架的时候很容易遇到这类问题,不同的包可能是不同的企业或组织为不同的产品开发的,尽管根据IDE的提示可能解决问题,但还是尽量使用统一的包比较好。