EclipseLink JPA e SELECT MAX com GROUP BY

Olá grupo,

Eu estou migrando meu sistema para usar o EclipseLink e estou tendo alguns problemas para adaptar minhas query… como sou meio juvenil nisso, não estou conseguindo fazer uma funcionar no jpa de forma alguma. Vou explicar meu problema.

Tenho duas entidades do banco mapeadas:

Postagem
dataEnvio
PostagemPK (edicao, codproduto)
Produto produto;

Produtos
@OneToMany(cascade = CascadeType.ALL, mappedBy = “produto”)
codproduto
descricao
List postagemList

Elas estão relacionadas (um produto, muitas postagens) e funcionando normal… o problema é que estou tentando buscar o;
codproduto, descricao, max(edicao), max(dataEnvio) e mostrar essa lista.

Eu sei que em SQL tem várias formas de fazer esse SELECT, ex:

ou

Agora, quando tento passar para jpa eu não consigo… acho que é algo simples, tipo, saber onde jogar o valor do max… mas não estou conseguindo… já fiz os seguintes testes e nada:

Até dá pra pegar a maior publicação com WHERE, mas a questão é, preciso das maiores publicações de todos os produtos. Alguém teria alguma sugestão?