Hibernate 使用CriteriaQuery启用查询缓存。这可能吗?

Hibernate 使用CriteriaQuery启用查询缓存。这可能吗?,hibernate,query-cache,Hibernate,Query Cache,我想启用hibernate查询缓存。我知道“Query”和“Criteria”有一个名为“setcacable”的函数,用于将查询标记为可缓存。有没有办法用“CriteriaQuery”做到这一点 CriteriaQuery<UserEntity> criteria = entityManager.getCriteriaBuilder().createQuery(UserEntity.class); Root <UserEntity> contactRoo

我想启用hibernate查询缓存。我知道“Query”和“Criteria”有一个名为“setcacable”的函数,用于将查询标记为可缓存。有没有办法用“CriteriaQuery”做到这一点

    CriteriaQuery<UserEntity> criteria = entityManager.getCriteriaBuilder().createQuery(UserEntity.class);
    Root <UserEntity> contactRoot = criteria.from(UserEntity.class);
    criteria.select(contactRoot);

    Predicate predicate = entityManager.getCriteriaBuilder().equal(
            contactRoot.get("username"), username);
    criteria.where(predicate);

    UserEntity contact = entityManager.createQuery(criteria).getSingleResult();

    return contact;
CriteriaQuery criteria=entityManager.getCriteriaBuilder().createQuery(UserEntity.class);
Root contactRoot=criteria.from(UserEntity.class);
条件。选择(contactRoot);
谓词谓词=entityManager.getCriteriaBuilder().equal(
contactRoot.get(“用户名”),username);
标准。其中(谓词);
UserEntity contact=entityManager.createQuery(条件).getSingleResult();
回接;