Left Join e consulta em atributo lista

Tenho a seguinte situação:

Tenho uma entidade viagem, busco por todas viagens que não foram concluídas, a partir dela, consigo um veículo, e a partir do veículo, consigo o histórico das posições que ele já passou.

Minha dúvida é, como fazer para pegar nessa lista de posições, a posição com a maior data?
Mas quero no meu objeto retornado, a viagem, o veículo e a posição com a maior data.

Usando JPA, já tenho isso:

"SELECT viagem FROM Viagem viagem " +
"LEFT JOIN viagem.veiculo veiculo " +
"LEFT JOIN veiculo.historicoPosicoes posicao " +
"WHERE viagem.veiculo = veiculo " + 
"AND viagem.concluida = ?1 "

Mas nesse caso, a lista toda é retornada.