# The Java EE 7 Tutorial

# 41.3 Executing String-Based Queries

String-based queries are executed similarly to strongly typed Criteria queries. First create a `javax.persistence.TypedQuery` object by passing the criteria query object to the `EntityManager.createQuery` method, then call either `getSingleResult` or `getResultList` on the query object to execute the query:

    CriteriaQuery<Pet> cq = cb.createQuery(Pet.class);
    Root<Pet> pet = cq.from(Pet.class);
    cq.where(cb.equal(pet.get("name"), "Fido"));
    TypedQuery<Pet> q = em.createQuery(cq);
    List<Pet> results = q.getResultList();