Tenho a seguinte estrutura:
Banco
@Entity
@Table(name = "banco")
public class Banco {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int codigo;
private String numero;
private String nome;
// getters and setters
}
Agencia
@Entity
@Table(name = "agencia")
public class Agencia {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int codigo;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "cod_banco")
private Banco banco;
private String numeroAgencia;
// getters and setters
}
Utilizando Hibernate, como faço para ao exibir os dados da minha agencia juntamente com o nome do banco, seja ordenado pelo nome do banco? Já tentei fazer isso e me retornou um erro:
......
private Class<T> classe;
private Session session;
public HibernateDAO(Class<T> classe, Session session) {
super();
this.classe = classe;
this.session = session;
}
Criteria c = session.createCriteria(classe);
c.addOrder(Order.asc("banco.nome"));
List<Agencia> beans = (List<Agencia>) c.list();
.........
Ao substituir o Order.asc(“banco.nome”) por Order.asc(“banco.codigo”) funcionou, mas eu queria q seja ordenado nao pelo codigo do banco, mas pelo nome do banco. Alguém tem uma sugestão?