Spring-Data-Jpa出现的问题

今天第一次学习这个,出现的问题太多了,记录下。

最害怕的问题就是Jar包兼容,这里面需要两个重要的依赖包。这两个包的版本需要匹配才能正常使用。

我这里只知道 Jpa用1.0.3,commons用1.1.0,或者1.3.0。还有最新版本的Jpa 1.3.0和commons的1.5.0可以兼容。

如果,版本不兼容会出现:

src-resolve: Cannot resolve the name 'repository:auditing-attributes' to a(n) 'attribute group' component.

第二个问题,如果在biz或者叫service层的实现类的方法里,忘了写@Transactional注解标签。即使程序运行成功,没有报错,但是数据并没有保存进去。

Spring Data JPA 对事务的支持

默认情况下,Spring Data JPA 实现的方法都是使用事务的。针对查询类型的方法,其等价于 @Transactional(readOnly=true);增删改类型的方法,等价于 @Transactional。可以看出,除了将查询的方法设为只读事务外,其他事务属性均采用默认值。

java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode

这一段异常在网上查:说是包冲突,我用的是MyEclipse,里面的JEE包冲突了,去掉Jee包自己添加Jstl,servlet等等包即可!

 

第三个问题:持久层接口继承 Repository 并不是唯一选择。Repository 接口是 Spring Data 的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法。

public interface UserDao extends Repository<AccountInfo, Long> { …… } 

 @RepositoryDefinition(domainClass = AccountInfo.class, idClass = Long.class) 
 public interface UserDao { …… } 

出现

java.lang.ClassCastException: $Proxy23 cannot be cast to org.springframework.data.repository.Repository  

我把包换成最新的Jpa 1.3.0和commons的1.5.0可以兼容。

真搞不懂,这坑爹啊,为啥要这样折腾人捏!~

 

转载于:https://www.cnblogs.com/yangqian/archive/2013/03/04/2942655.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值