Ce problème peut survenir si vous n'avez pas mis d'index sur les colonnes utilisées par votre requête.

Vous pouvez créer des index sur plusieurs colonnes d'une table avec des annotations Hibernate. Ces annotations seront pris en compte par hbm2ddl lors de la génération des scripts sql. C'est simple, rapide et pratique :

@Entity
@Table(name = "table_exemple")
@org.hibernate.annotations.Table(appliesTo = "table_exemple", indexes = { @Index(name = "idx_table_exemple_col1", columnNames = {
        "col1" }) })
public class MonPojo {
@Basic
private String col1;
...
}