`

JPA cache

    博客分类:
  • JPA
阅读更多
 PersistenceContext  Level2 Cache Extend PersistenceContext .
 二级缓存优缺点The advantages of L2 caching are:

    * avoids database access for already loaded entities
    * faster for reading frequently accessed  unmodified entities

The disadvantages of L2 caching are:

    * memory consumption for large amount of objects
    * Stale data for updated objects
    * Concurrency for write (optimistic lock exception, or pessimistic lock)
    * Bad scalability for frequent or concurrently updated entities


You should configure L2 caching for entities that are:

    * read often
    * modified infrequently
    * Not critical if stale

You should protect any data that can be concurrently modified with a locking strategy:

    * Must handle optimistic lock failures on flush/commit
    * configure expiration, refresh policy to minimize lock failures

The Query cache is useful for queries that are run frequently with the same parameters, for not modified table

具体参考:[url]http://weblogs.java.net/blog/archive/2009/08/21/jpa-caching[/url]
分享到:
评论

相关推荐

    JPA-5 使用二级缓存

    而当我们谈论“JPA-5 使用二级缓存”时,我们是在讨论如何利用JPA的一个高级特性,即二级缓存,来提升应用的性能。 一级缓存是每个EntityManager实例内的缓存,它是默认开启的,并且是事务性的。一级缓存存储了在...

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    spring.jpa.hibernate.cache.region.factory_class=org.hibernate.cache.redis.hibernate5.SingletonRedisRegionFactory ``` 4. **实体类注解**: 对于需要缓存的实体类,可以使用`@Cacheable`、`@CacheEvict`等...

    jpa 全面学习资料

    - **第二级缓存(Second-Level Cache)**: 提高性能,减少数据库访问。 - **多态性(Polymorphism)**: 支持不同类型的实体在同一查询结果中。 - **实体图形(Entity Graph)**: 控制加载特定的实体属性集。 - **...

    jpa 所需jar包

    - **缓存(Cache)**: JPA支持一级缓存(实体管理器级别)和二级缓存(全局应用级别)来提高性能。 - **懒加载(Lazy Loading)**: 避免在初始化实体时加载关联数据,只在需要时才进行加载。 - **批处理(Batch ...

    开发jpa的包

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者能够使用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA通过提供...

    JPA连接数据库,非常详细

    <property name="openjpa.QueryCache" value="CacheSize=1000,SoftReferenceSize=100"/> <property name="openjpa.jdbc.DBDictionary" value="oracle"/> <property name="openjpa.ConnectionUserName" value=...

    01_传智播客JPA详解_全面阐释和精彩总结JPA

    9. **二级缓存(Second-Level Cache)**:探讨如何利用JPA的二级缓存提高应用程序的性能。 10. **实体监听器(Entity Listeners)**:学习如何使用实体监听器来执行特定的业务逻辑,如在插入、更新或删除时触发某些...

    OpenJPA 2.2.1 API (CHM格式)

     除了对 JPA 标准的支持之外,OpenJPA 还提供了非常多的特性和工具支持让企业应用开发变得更加简单,减少开发者的工作量,包括允许数据远程传输/离线处理、数据库/对象视图统一工具、使用缓存(Cache)提升企业应用...

    Jpa帮助文档,chm格式

    10. **缓存机制**:了解JPA的缓存层次,包括第一级缓存(First Level Cache)和第二级缓存(Second Level Cache),以及如何利用它们提高性能。 通过阅读JPA.chm的帮助文档,你将全面了解JPA的核心特性和最佳实践,...

    Jpa的创建和增删改查的代码

    - **缓存机制**: 第一级缓存(Entity Manager Cache)和第二级缓存(Hibernate的Session Factory Cache)提高查询性能。 - **批处理(Batch Processing)**: 通过设置批处理大小,一次处理多个SQL语句,提高批量操作...

    JPA注解实现联合主键

    ### JPA注解实现联合主键 在关系型数据库中,单个字段作为主键的情况较为常见,但在某些场景下,我们需要使用多个字段共同作为主键来唯一标识表中的每一条记录,这就是所谓的“联合主键”。而在Java持久化框架...

    guice集成jpa

    在本文中,我们将探讨如何将Guice与JPA(Java Persistence API)以及Hibernate结合使用,以便在Java应用程序中实现数据持久化。首先,我们需要配置`persistence.xml`文件,这是JPA的核心配置文件,用于定义持久化...

    Apress.Pro.JPA.2.2nd.Edition.Oct.2013

    7. **缓存机制**:讲解JPA的缓存层次结构,包括一级缓存(First-Level Cache)和二级缓存(Second-Level Cache),以及如何配置和优化缓存性能。 8. **转换和事件监听**:探讨实体转换(Entity Transformer)和实体...

    Glassfish 3.1.2.2 JPA問題整理 EclipseLink 如何更新1

    删除domain下的osgi-cache文件夹中的felix子文件夹内容。 7. 重启Glassfish服务器。 注意,不是所有旧的EclipseLink jar文件都需要替换,至少需要8个关键的jar文件。在测试后,发现只替换这些文件可能无法解决问题...

    SpringBoot中使用Spring-data-jpa分页查询

    cache: true # ...其他配置 datasource: # 数据源配置 jpa: # JPA配置 ``` 当用户请求分页数据时,前端会传递分页参数(如页码和每页数量)到后端,后端在服务层中处理这些参数,调用`searchBooks`方法获取...

    springboot 框架与其它组件结合如 jpa、mybatis、websocket、security、shiro、cache

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立的、生产级别的基于 Spring 的应用。 **Spring Boot 与 JPA 结合** Java Persistence API (JPA) ...

    hibernate-jpa-2.1-api 1.0.0.Final API

    12. **二级缓存(Second-Level Cache)**:提高性能,缓存已加载的实体,减少对数据库的访问。 13. **实体图形(Entity Graphs)**:在查询时控制哪些关联应被加载,有助于避免N+1查询问题。 以上知识点构成了...

    jpa的学习资料

    7. **二级缓存(Second-Level Cache)**: 为了提高性能,JPA 提供了二级缓存,它可以缓存已持久化的实体实例,减少对数据库的访问次数。 8. **实体监听器(Entity Listeners)**: 通过实体监听器,我们可以在实体...

    Apache OpenJPA.zip

    3. **缓存管理**:OpenJPA支持一级缓存(Entity Cache)和二级缓存,提高数据访问效率,减少对数据库的直接访问。 4. **事务管理**:集成JTA(Java Transaction API),支持分布式事务处理,确保数据的一致性和完整...

    hibernate-jpa学习

    4. **缓存机制**:包括一级缓存(Session Cache)和二级缓存(第二级缓存),提高数据访问速度。 5. **查询API**:除了JPQL,还提供了Criteria API,提供了更强大的查询构建能力。 四、源码分析 了解Hibernate-...

Global site tag (gtag.js) - Google Analytics