`

Hibernate JPA 的索引的使用

阅读更多

在Hibernate中Model中一个对象关联的对象相当多是必须使用索引,如果多个表关联更要使用关联,否则效率相等的低下,例如在项目中酒店的查询中大约有几千条数据但是查询就需要5分钟以上,实在是一个严重的效率瓶颈,采用的方案,在集合等地方添加相应的索引,加快搜索效率。

  

   如下:

针对重复几率比较大的使用索引:

/**
  * 开始日期(YYYY-MM-DD)priDate(旧)
  */
 @Temporal(TemporalType.DATE)
 @Column(name = "from_date", nullable = false)
 @Index(name="IDX_ROOM_TYPE_PRICE_FROM")
 private Date from;
 

 


 /**
  * 结束日期(YYYY-MM-DD)priDate(旧)
  */
 @Temporal(TemporalType.DATE)
 @Column(name = "to_date", nullable = false)
 @Index(name="IDX_ROOM_TYPE_PRICE_TO")
 private Date to;

 

  针对关联的集合使用索引: 
 /**
  * 现付含早frontBreakfast(旧),周一~周日
  */
 @CollectionOfElements
    @JoinTable(name = "T_RTP_CASH_BT")
 @Type(type = "breakfastTypeEnum")
 @IndexColumn(name = "cashBreakfastTypes_pos")
 private List<BreakfastType> cashBreakfastTypes = getDefaultBreakfastType();

分享到:
评论

相关推荐

    Hibernate使用JPA注解代码

    当我们将Hibernate与JPA的注解结合使用时,可以极大地简化数据库操作的代码。然而,在实际开发中,我们可能会遇到各种问题,如标题中提到的"persistence.Table.indexes()[Ljavax/persistence/Index;"异常。这个异常...

    hibernate-jpa学习

    7. **元数据索引**:`jandex-1.1.0.Final.jar`是Hibernate使用的元数据索引库,它能快速检索JPA实体类的元数据,提高运行时性能。 8. **DOM4J解析**:`dom4j-1.6.1.jar`是一个用于XML处理的库,Hibernate利用它解析...

    hibernate需要的10个jar

    2. **hibernate-entitymanager.jar**:提供了JPA(Java Persistence API)支持,使得开发者可以使用JPA规范来操作数据库,与Hibernate ORM框架进行交互。 3. **hibernate-jpa-2.1-api.jar**:这个JAR包含JPA 2.1...

    gs-accessing-data-jpa-master.zip_spring hibernate

    2. 查询优化:合理使用索引,避免全表扫描,减少JOIN操作,提高查询效率。 3. 错误处理:正确处理异常,避免因持久化问题导致应用程序崩溃。 4. 性能监控:定期进行性能测试,分析SQL执行情况,进行必要的调整。 ...

    基于Java+Hibernate Spring JPA Compass实现的图书商城项目源码.zip

    3. **Spring JPA**:是Spring框架的一部分,提供了一种更高级的ORM抽象,使得开发者可以方便地使用各种持久化策略,如Hibernate、MyBatis等。Spring JPA通过注解驱动,使得代码更加简洁,且与Spring其他模块集成紧密...

    JPA分页查询与条件分页查询

    `CriteriaQuery`和`CriteriaBuilder`是JPA提供的API,用于构建HQL(Hibernate Query Language)表达式,这使得我们可以在运行时构建灵活的查询。 在实际应用中,你可能会遇到更多复杂的查询需求,例如嵌套的分页...

    Hibernate Spatial 4 教程

    Hibernate Spatial 是一个基于 Hibernate 或 JPA 的空间几何对象数据库操作框架,提供了实现空间几何对象数据库操作的方法和配置说明。 一、 Hibernate Spatial 4 简介 Hibernate Spatial 4 是 Hibernate Spatial ...

    Hibernate搜索框架HibernateSearch.zip

    hibernate.cfg.xml(Hibernate)2,支持Hibernate,以及EJB3 JPA标准应用3,集成全文搜索引擎Lucene - Lucene是Apache项目组下的一个功能强大的全文搜索引擎项目4,可以简单透明索引查询过的数据5,支持复杂检索 - ...

    Hibernate5需要的jar包。

    2. **hibernate-entitymanager-5.x.x.jar**:提供对JPA(Java Persistence API)的支持,使得可以使用注解或者XML配置来定义实体类。 3. **hibernate-jpa-2.1-api-1.0.0.Final.jar**:这是JPA 2.1的API接口定义,...

    hibernate4.3.11所需jar包

    - **JPA (Java Persistence API)**: Hibernate可以作为JPA的实现,允许开发者使用JPA规范的API。 - **ASM**: 用于动态生成字节码,支持Hibernate的懒加载、代理对象等功能。 - **Guava**: Google的通用库,提供了...

    Hibernate+Mysql使用实例

    Hibernate是Java领域广泛使用的对象关系映射(ORM)工具,它允许开发者使用面向对象的方式操作数据库,而无需直接编写SQL语句。MySQL则是一种流行的开源关系型数据库管理系统,常用于小型到大型的各种应用程序。 ...

    jpa性能优化ppt

    10. **利用供应商特定的优化功能**:了解并使用JPA提供商(如Hibernate)提供的特定于供应商的优化功能。 11. **审查生成的SQL**:密切监视生成的SQL语句,确保其符合预期,同时利用日志和监控工具。 12. **实施...

    Struts+Hibernate+spring+jpa+lucene+jbpm+compass配置文件

    Struts、Hibernate、Spring、JPA、Lucene、JBPM和Compass是Java开发中常用的一系列技术,它们各自在不同的领域发挥着重要作用。这里我们将深入探讨这些技术以及如何将它们整合在一起进行配置。 1. **Struts**:...

    hibernate4+mysql测试相关jar包

    在Java开发领域,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本资源“hibernate4+mysql测试相关jar包”是针对使用Hibernate 4版本进行...

    hibernate所需jar包

    4. **hibernate-entitymanager-5.0.7.Final.jar**:提供了JPA(Java Persistence API)的实现,使得开发者可以使用标准的JPA接口来操作数据库,而无需直接使用Hibernate的API。 5. **log4j-1.2.16.jar**:日志记录...

    05_JPA详解_日期_枚举等字段类型的JPA映射.zip

    JPA可以与Spring、Hibernate等框架集成,进一步提升开发效率。例如,Spring Data JPA 提供了一种声明式的方式进行数据访问,大大简化了代码。 通过以上内容,你可以了解JPA如何处理日期和枚举等特殊字段类型的映射...

    hibernate所需的13个(1个mysql驱动包+3个日志包+9个hibernate-required包)jar包

    `jandex.jar`是JPA元数据的索引工具,帮助Hibernate快速查找实体的元数据。`antlr4-runtime.jar`则是ANTLR4解析器的运行时库,用于解析HQL(Hibernate查询语言)和JPQL(Java Persistence Query Language)。`jta....

    hibernate的所有必备jar包

    9. jandex-2.0.0.Final.jar:Jandex是一个Java元数据索引库,用于快速查找和解析Java注解,这对于Hibernate识别和处理注解驱动的配置非常关键。 10. hibernate-jpa-2.1-api-1.0.0.Final.jar:Java Persistence API...

Global site tag (gtag.js) - Google Analytics