Subquery em Hibernate criteria

SELECT (h)
  FROM historico h
 WHERE h.meseshistoricos =
       (SELECT MAX(h2.meseshistoricos)
          FROM historico h2
         WHERE h2.produto = h.produto
           AND h.produto.empresa.codigo = :codigo) ")

Como reproduzir estas queryes em jpql em Hibernate?

SELECT COUNT(h)
  FROM historico h
 WHERE h.meseshistoricos =
       (SELECT MAX(h2.meseshistoricos)
          FROM historico h2
         WHERE h2.produto = h.produto
           AND h.produto.empresa.codigo = :codigo)