美文网首页
SpringData JPA 中遇到的问题及注意事项

SpringData JPA 中遇到的问题及注意事项

作者: LeonardoEzio | 来源:发表于2018-04-03 08:36 被阅读0次

1.定义了接口继承JpaRepository<T,ID>后,只需在配置类上注解EnableJpaRespositories(basePackes="")便会自动扫描指定包下的Repository接口,为其生成相应的代理类。@EnableJapRespositories注解的作用类似于Mybatis中的MapperScannerConfigurer Bean

2.JpaRepository中的getOne方法,类似于Hibernate中的load于Iterator方法,会产生懒加载的问题,在查询时会返回一个代理对象,对象在第一次使用前不能关闭事务,连接。

3.当实现类的方法上注解了@Transactional后,不能通过该实现类来获得Bean,只能通过该实现类的接口类来获得Bean。
原理:
开启事务需要使用到AOP的功能,而AOP功能又要通过代理来实现,默认使 用的JDK代理只能通过接口来生成代理类。

4.Repository接口中支持自定义查询。
@Query("select s from student s where s.id = ?1 ")
public Student find (int id)

5.懒加载导致的4的问题的解决:
过滤器 OpensessionInViewFilter (页面打开时开启Session,页面关闭时关闭Session)

相关文章

网友评论

      本文标题:SpringData JPA 中遇到的问题及注意事项

      本文链接:https://www.haomeiwen.com/subject/lbtqhftx.html