2017-03-06 2 views
0

Dans ma base de données, j'ai 11500 enregistrements. Dans la couche DAO, je fais comme ça.JVM prend trop de temps pour stocker les données dans arraylist de criteria.list()

@Transactional 
    public List<TrCaster> searchCasterList() { 
     return getSessionFactory().getCurrentSession().createCriteria(TrCaster.class).list(); 
    } 

Il fonctionne bien et quand je vais l'enregistrer dans un autre arraylist (par exemple dans la couche de service) Il prend trop de temps.

Quelqu'un peut-il me suggérer les autres approches pour stocker les données dans un ArrayList. (Comme j'utilise le cadre de ZK je dois maintenir une liste.)

Merci à l'avance

Répondre

0

Y at-il Liste des objets dans votre classe d'entité qui est définie comme LAZY chercher? En cas d'extraction LAZY, pendant que vous accédez à la classe d'entité, la liste sera extraite de la base de données et cela pourrait entraîner une lenteur.

+0

@anwural - Oui, j'ai le type paresseux dans mon entité. N'y a-t-il pas d'alternative pour cela? –

+0

Si la liste d'objets est vraiment nécessaire, vous pouvez utiliser EAGER à la place. –