发布时间:2018年04月10日 20:36:51分享人:农民范来源:互联网26
1、jpa包的冲突2、事务不正常执行3、Cannot proxy target class because CGLIB2 is not available1、jpa包的冲突运行 jpa 程序,却出现:Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;这个是由于jar包的冲突了, 因为使用的是新版本的 Hibernate(这里我使用的是 Hibernate 3.6),跟 javaee.jar 里面的jpa接口冲突了解决办法 使用 tomcat 中带的 servlet-api.jar 替换 javaee.jar 去掉 Java EE 5 Libraries 新建 user libraries 包含 jsf-api.jar jsf-impl.jar jstl-1.2.jar servlet-api.jar就是将 MyEclipse 里面的 Java EE 5 Libraries 中的 javaee.jar 换成 servlet-api.jar然后在工程里加入刚刚的user libraries,OK2、事务不正常执行在xml中我们这样写:===============================================================================<context:annotation-config /> <!-- 数据库的配置 --> <bean id="hibernate_DataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/qsweike?useUnicode=true&characterEncoding=gbk" /> <property name="username" value="root"/> <property name="password" value="19891231"/> <property name="defaultAutoCommit" value="false" /> </bean> <!-- 数据库的配置 结束 --> <!--jpa 配置开始--> <!-- JPA EntityManagerFactoryBean for EntityManager 很明显这个就是实体管理的bean,这里使用的是 lacalContainerEntityManagerFactoryBean,这个提供了最全面的功能 官方文档也是推荐使用这个,我们要相信官方的力量=.= 同时,指定了persistenceXmlLocation,即是持久性相关配置文件,可以理解成 jpa 具体实现的配置文件 比如我们使用hibernate实现jpa的话,那么persistence.xml里面就是hibernate相关的 persistenceUnit 的name 要与persistence.xml文件中的persistenceUint的name一样哦 --> <bean id="entityManagerFactory"> <property name="persistenceXmlLocation" value="classpath:persistence.xml" /> <property name="persistenceUnitName" value="persistenceUnit" /> <property name="dataSource" ref="hibernate_DataSource" /> </bean> <!-- Transaction manager for JPA 对于jdbc的事务,我们还是交给spring吧 他可以很好地帮我们处理事务回滚等工作 --> <bean id="transactionManager"> <property name="entityManagerFactory"> <ref bean="entityManagerFactory" /> </property> </bean> <!--然后我们配置一下jpaTemplate 这个跟hibernateTemplate几乎是差不多的,具有的方法也大同小异 转型也是瞬间的事 因为我还是比较习惯使用 dao 分层,service 对外接口的数据库层访问的结构,所以就加了这个 jpaTemplate 在dao中就可以注入这个jpaTemplate --> <bean id="jpaTemplate"> <property name="entityManagerFactory"> <ref bean="entityManagerFactory" /> </property> </bean> <!--jpa 配置结束--> <context:component-scan base-package="cn.weike" /> =============================================================================== 其他都是正常的情况下,使用 jpaTemplate 的 persist 方法,却是没有反应的。 这个是为什么呢, 马上想到的是,事务根本没有启动,没有启动》??? 不是已经设置了 @Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class) 了么。 可是,spring的配置中没有 注明 aop ,因为要切入事务,必需要aop的支持,现在我们使用的是 注解 方法实现 声明式事务 现在,只要加入aop的支持便可以了。 在配置文件中加入: <tx:annotation-driven/> 不要忘记导入相应的包:aopalliance-1.0.jar (这是我使用的)。3、Cannot proxy target class because CGLIB2 is not available 其实之前做 Flex+Spring 时,也碰到了这样的问题,不过那时没有细细去找原因,因为一看就是没有相应的包,直接加入了包。 当执行事务的类没有实现接口时,可能会报错: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces 这时,我们加入 cglib-2.2.jar 这个包就可以了,当然,也要加入其依赖的包:asm-3.2.jar 因为 JDK 的动态代理主要是面向接口的,当事务类没有实现任何接口时,就会报出上面的错误,而Cglib主要是针对类的代理。
爱华网本文地址 » http://www.aihuau.com/a/25101012/106058.html
更多阅读
返利常见问题什么是淘宝返利您通过呀饭粒网去淘宝网商家店铺购买商品,商家会通过淘宝网支付给呀饭粒网一定的推广佣金,呀饭粒网会将这笔佣金的大部分返还给您。假设您在淘宝网看中一个100元的宝贝,通过呀饭粒网查询该宝贝现金返利金额
有用原文地址:【整理】宾得KR常见问题及解答作者:小宁文章参考论坛上的帖子和宾友们提供的资源,由本人整理。全新品检测机身拿到新机以后,请检查您的包装内物品数量。一般来说,包括:如何查看快门数?上传到图虫http://exif.tuchong.com/上
丹朱围棋教室软件下载安装常见问题丹朱围棋教室下载丹朱围棋教室官方安装包后,通过丹朱围棋激活码联网激活安装,但丹朱围棋教室软件激活安装需要注意一些问题。丹朱围棋软件安装官方默认是唯一一台电脑激活安装,丹朱围棋激活码绑定机
ibox使用常见问题解决方法合集ibox游戏共享平台下载地址: http://www.iboxsoft.com/使用疑问:Q: 游戏下载安装后,为什么不能正常运行?A: 游戏不能运行的原因较多,通常与机器配置、系统插件等有关,具体可以参考帖子:http://www.iboxsoft.
北京卫视《养生堂》栏目官方博客常见问题解答一、播出时间:首播:北京卫视每天17:23(57分钟)重播:北京卫视每天05:03(57分钟)精编版:北京卫视周一至周五06:20(35分钟)二、联系我们电话:BTV热线010-96168通信:100022北京朝阳区建国路甲98号北京