This is the class, and no I haven´t tried to order by other field....I will try as soon as I can.
Code:
package com.telvent.padron.bi.territorio.model;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import com.telvent.padron.bi.comun.DatosControlTroncalActual;
import com.telvent.padron.bi.comun.IEsHistorico;
import com.telvent.padron.bi.comun.ITieneHistorico;
import com.telvent.padron.bi.territorio.comun.ViviendaLocalBase;
import com.telvent.padron.comun.ILocalizable;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@Entity
@Table( name="TRR_HUECO")
@XStreamAlias("ViviendaLocal")
public class ViviendaLocal extends ViviendaLocalBase implements Serializable,ITieneHistorico, ILocalizable{
   /*ATRIBUTOS*/
   /**
    * 
    */
   private static final long serialVersionUID = 1L;
/**
 * Código interno de identificación única del registro.  
 * Número de Identificación del hueco.  El NIDEN se crea pero nunca se modifica. 
 * ([P]rimary [K]ey). Secuencial.
 */
   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   @Column(name = "NIDEN_HUECO")
   private Integer id;   
   
   protected DatosControlTroncalActual datosControl = new DatosControlTroncalActual();
   
/**
 * NIDEN del texto normlizado de vivienda. 
 * [F]oreing [K]ey de enlace con la tabla de Valor Válido de texto normalizado de vivienda 
 * (TRR_TEXTO_NORM_HUECO).
 */
   @ManyToOne
   @JoinColumn(name="NIDEN_TXT_NOR_VIV")
   @ForeignKey(name="FK_HUECO_TNV")
   @Cascade(org.hibernate.annotations.CascadeType.LOCK)
   private TextoNormalizadoViviendaLocal textoNormalizadoViviendaLocal;
   
   @OneToMany(mappedBy="viviendaLocalActual",cascade=CascadeType.ALL,fetch=FetchType.LAZY)
   @OrderBy("id DESC")
   @Cascade(org.hibernate.annotations.CascadeType.LOCK)
   private List<ViviendaLocalHistorico> viviendaLocalHistoricos;
   
   /**
    * NIDEN del Numerero al que pertenece el hueco (vivienda o local).  
    * [F]oreing [K]ey de enlace con la tabla troncal de Numerero (TRR_NUMERERO) 
    */
   @ManyToOne
   @JoinColumn(name="NIDEN_APP", nullable=false)
   @ForeignKey(name="FK_HUECO_NUMERERO")
   @Cascade(org.hibernate.annotations.CascadeType.LOCK)
   private Numerero numerero;
   
   @Column(name = "CODIGO_HUECO", nullable=true)
   private Integer codHueco;
   
   /*CONSTRUCTORES*/
   
   public Numerero getNumerero() {
      return numerero;
   }
   public void setNumerero(Numerero numerero) {
      this.numerero = numerero;
   }
   public ViviendaLocal(){
      
   }
   /*METODOS PUBLICOS*/
   public Integer getId() {
      return id;
   }
   public void setId(Integer id) {
      this.id = id;
   } 
   public TextoNormalizadoViviendaLocal getTextoNormalizadoViviendaLocal() {
      return textoNormalizadoViviendaLocal;
   }
   public void setTextoNormalizadoViviendaLocal(
         TextoNormalizadoViviendaLocal textoNormalizadoViviendaLocal) {
      this.textoNormalizadoViviendaLocal = textoNormalizadoViviendaLocal;
   }
   
   public List<ViviendaLocalHistorico> getViviendaLocalHistoricos() {
      return viviendaLocalHistoricos;
   }
   public void setViviendaLocalHistoricos(
         List<ViviendaLocalHistorico> viviendaLocalHistoricos) {
      this.viviendaLocalHistoricos = viviendaLocalHistoricos;
   }
   public void cargarDeActual(ITieneHistorico alife) {
      // TODO Auto-generated method stub
      
   }
   /*public Set<Poblacion> getPoblaciones() {
      return poblaciones;
   }
   public void setPoblaciones(Set<Poblacion> poblaciones) {
      this.poblaciones = poblaciones;
   }*/
   public void cargarDesdeHistorico(IEsHistorico historico) {
      
      ViviendaLocalHistorico vl = (ViviendaLocalHistorico)historico;
      super.setCodigoReferenciaDgc(vl.getCodigoReferenciaDgc());
      super.setFechaGrabacionCierre(vl.getFechaGrabacionCierre());
      super.setFechaGrabacionAyto(vl.getFechaGrabacionAyto());
      
      this.setPlanta(vl.getPlanta());
      this.setPuerta(vl.getPuerta());
      this.setTextoNormalizadoViviendaLocal(vl.getTextoNormalizadoViviendaLocal());
      this.setTipo(vl.getTipo());
      this.setTipoColectivo(vl.getTipoColectivo());
      this.setTipoLocal(vl.getTipoLocal());
      this.setNumerero(vl.getNumerero());
   }
   
   
   public DatosControlTroncalActual getDatosControl() {
      return datosControl;
   }
   public void setDatosControl(DatosControlTroncalActual datosControl) {
      this.datosControl = datosControl;
   }
   public List<ViviendaLocalHistorico> getHistorico() {
      return this.viviendaLocalHistoricos;
   }
   public void setHistorico(List col) {
      this.viviendaLocalHistoricos = col;
   }
   public void addHistorico(ViviendaLocalHistorico viviendaLocalHistorico)
   {
      this.getHistorico().add(viviendaLocalHistorico);
      viviendaLocalHistorico.setViviendaLocalActual(this);
   }
   
   
   public Integer getNumPersonas(Date fechaDada){
      //TO DO implementar el método de recuento de personas en hueco
      if(fechaDada == null)
         return 0;
      else
         return 10;
   }
   public Integer getCodHueco()
   {
      Integer cod=codHueco;
      if(cod==null)
         cod=id;
      return codHueco;
   }
   public void setCodHueco(Integer codHueco)
   {
      this.codHueco = codHueco;
   }
   /**
    * Constructs a <code>String</code> with all attributes
    * in name = value format.
    *
    * @return a <code>String</code> representation 
    * of this object.
    */
   public String toString()
   {
       final String TAB = "    ";
   
       StringBuilder retValue = new StringBuilder();
       
       retValue.append("ViviendaLocal ( ")
           .append(super.toString()).append(TAB)
           .append("id = ").append(this.id).append(TAB)
           .append("textoNormalizadoViviendaLocal = ").append(this.textoNormalizadoViviendaLocal).append(TAB)
           .append("codHueco = ").append(this.codHueco).append(TAB)
           .append("datosControl = ").append(this.datosControl).append(TAB)
           .append(" )");
       
       return retValue.toString();
   }
	
	
	
}