zoukankan      html  css  js  c++  java
  • jpa_缓存

    查询缓存

    https://blog.csdn.net/qq_24084925/article/details/51890194

    如果想要使用缓存,只查询一次,可以使用setHint

    Query query = entityManager.createQuery(jpql).setHint(QueryHints.HINT_CACHEABLE, true);

    注意:这里的QueryHints是org.hibernate.ejb.QueryHints包下的,并且,使用查询缓存的前提是在配置文件中配置了启用查询缓存

    <property name="hibernate.cache.use_query_cache" value="true"/>


    使用二级缓存

    https://blog.csdn.net/abc997995674/article/details/80236865 

    一级缓存
    一级缓存是session级别的缓存,在JPA中一个entityManager对应一个session,一个session就对应一个缓存。

    查询两次id为1的user

    User user1 = entityManager.find(User.class, 1);
    User user2 = entityManager.find(User.class, 1);
    1
    2
    结果发现只调用了一次sql查询,因为使用了一级缓存,当第一次find就把查询到的数据放入到还缓存中,第二次再查会先去缓存中找,如果有就直接使用而不用重新查询。

     

    如果查询一次后,关掉entityManager,再查询

    User user1 = entityManager.find(User.class, 1);
    entityManager.close();
    entityManager = factory.createEntityManager();
    User user2 = entityManager.find(User.class, 1);
    1
    2
    3
    4
    发现查询了两次,因为entityManager关闭之后,其对应的缓存也就没有了。
    然后有重新开启一个entityManager,就和之前的不是同一个了。

     

     

    jpa--8.api(EntityTransaction)

    https://blog.csdn.net/qq_26553781/article/details/79721530

    1.1  概念

    EntityTransaction接口用来管理资源层实体管理器的事务操作。通过调用实体管理器的getTransaction方法获得其实例。

    1.2  方法

    • begin ()

    用于启动一个事务,此后的多个数据库操作将作为整体被提交或撤消。若这时事务已启动则会抛出 IllegalStateException 异常。

    • commit ()

    用于提交当前事务。即将事务启动以后的所有数据库更新操作持久化至数据库中。

    • rollback ()

    撤消(回滚)当前事务。即撤消事务启动后的所有数据库更新操作,从而不对数据库产生影响。

    • setRollbackOnly ()

    使当前事务只能被撤消。

    • getRollbackOnly ()

    查看当前事务是否设置了只能撤消标志。

    1.3  参考

  • 相关阅读:
    【转+补充】在OpenCV for Android 2.4.5中使用SURF(nonfree module)
    Delphi StarOffice Framework Beta 1.0 发布
    Angular ngIf相关问题
    angularjs文档下载
    公众号微信支付开发
    公众号第三方平台开发 教程六 代公众号使用JS SDK说明
    公众号第三方平台开发 教程五 代公众号处理消息和事件
    公众号第三方平台开发 教程四 代公众号发起网页授权说明
    公众号第三方平台开发 教程三 微信公众号授权第三方平台
    公众号第三方平台开发 教程二 component_verify_ticket和accessToken的获取
  • 原文地址:https://www.cnblogs.com/cxqbk/p/10563602.html
Copyright © 2011-2022 走看看