Qual relacionamento usar para as classes

Estou em dúvida para criar o relacionamento entre minha Classe Pessoa x Cliente, não sei se uso @OneToOne, @OneToMany, enfim, porque digo isto, tenho um sistema que foi construído assim, a tabela Pessoas serve para Fornecedor, Clientes, Usuarios, Profissionais e etc.
Outro detalhe que acontece é que quando uso @OneToOne na classe cliente, eu quero listar todos os clientes mas não ordena por ordem alfabética:

Select o from Clientes as o join fetch o.pessoa  order by o.pessoa.nome
	@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
	@JoinColumn(name="PESCOD")
	private Pessoa pessoa;

Quando usei @OneToMany ele ordena mas notei que o desempenho é muito ruim.
Bom como ainda sou novato com annotations, hibernate e também pq não dizer que a estrutura pode ter sido montada errada, enfim o que vocês acham, podem me ajudar a encontrar uma maneira correta, mais elegante, rsrsrs.
Ou se puderem sugerir algum artigo, exemplos de classes assim com relacionamentos, desde já agradeço muito.

Obrigado

Bom, considerando a estrutura que você deseja, uma pessoa pode ser mais de um cliente? E um cliente pode ser mais de uma pessoa, ao mesmo tempo? Caso as respostas sejam não, o relacionamento correto é one to one. Caso a resposta seja sim para uma ou outra ou ambas, então, é one to many.

Boa noite!, em primeiro lugar obrigado pela atenção drsmachado, a resposta é não 1 pessoa somente pode ser um cliente, eu não fui muito detalhista né, desculpe-me.
O código da pessoa é uma foreing key na tabela de clientes ok.
Então agora vou tentar descobrir porque não ordena por ordem alfabética como comentei antes.
Uma questão que fico pensando por ainda não estar muito ciente das annotations é que eu vou ter pessoas que não serão pacientes, serão fornecedores, profissionais, etc, isto não impede né de usar o relacionamento @OneToOne, digo em termos até de sintaxe, bom to procurando entender melhor.

Obrigado

César