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