Order by com Hibernate

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?