美文网首页
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