Hola,
   Cita:  
					Iniciado por jlgarcia1977  
  ...
private Set<Bloque> bloques = new HashSet<Bloque>();
...
Pero no ordena.
...
    Posiblemente, la interfaz Set de Java no especifica ningún tipo de ordenamiento. Cada implementación diferente de JPA supongo que va a devolver algo diferente que extienda la interfaz con que se definió la variable. 
Adicionalmente ¿Hay algún motivo especial por el cual inicializas la variable? La implementación JPA se va a encargar de asignarle el resultado, no es necesario inicializarla. 
En resumen, posiblemente, usa la interface List y no la inicialices. 
Saludos,