Mi potreste indicare come usare il em.flush(); in questo metodo?

codice:
    public List<Prodotti> getProdottoByIdAzienda(Integer idAzienda){        
      EntityManager em = getEntityManager();
        try {
            Query q = em.createNamedQuery("Prodotti.findByIdUtentePubblicati");
            q.setParameter("idUtente", idAzienda);
            return q.getResultList();
        } finally {
            em.close();
        }
    }
ovunque lo metto mi va in eccezione