Hibernate

Olá pessoal estou começando a usar o Hibernate e gostaria de tirar algumas duvidas com vocês.

  1. Com o hibernate posso fazer um group by se posso alguém tem um exemplo de um group by com mais de uma tabela.

  2. Posso numa query de uma determinada classe que eu tenha um campo que guarda o total de cada venda fazer um sum(valor_total) e guardar na minha classe tipo quando for fazer um relatório quero mostrar o agrupamento e no final mostrar o total não tipo ter que fazer via programação pois o banco já faz isso para nós.

  3. Qual a annotation que faz inner join entre as tabelas não quero o left join e nem o rigth join.

  4. Como recuperar o primeiro e o ulimo elemento que foi inserido no banco de dados.