Como eu descubro o relacionamento?

Como eu descubro qual é o relacionamento mapeado pelo hibernate em uma propriedade de classe?

Dado uma entidade Usuario


public class Usuario {
  private long id;
  private List veiculoList;    // ??  on-to-many ou many-to-many ??
  private List enderecoList; // ??  on-to-many ou many-to-many ??
}

Preciso saber que tipo de relacionamento tem a propriedade veiculoList e enderecoList, preciso saber se são one-to-many, ou many-to-many, caso seja many-to-many, preciso saber qual o nome da tabela associativa, também preciso saber os ids das chaves estrangeiras que se relacionam dentro da associativa.

Estou tentando atavés da API do Hibernate, utilizo apenas .hbm.xml não anottations.

Como o Hibernate faz o mapeamento, acredito que na sua api deve ter um meio de recuperar o relacionamento de uma propriedade.

Preciso criar um código que se pareça com isto:


for(Propriedade propriedade : listDePropriedades){
  if(propriedade.isManyToMany()){
    realizaProcesamento();
  }
}

Vc tem que perguntar pra sua entidade, no caso usuario, quantos carros e quantos enderecos ele pode ter e também perguntar as suas listas quantos donos(usuarios) eles podem ter, ai ele vai ter responder e vc vai saber qual a cardinalidade dele.

sephct…

Você esta considerando que eu tenho o relacionamento bidirecional, que é algo que não acontece em todos os casos, alias, na minha aplicação, em alguns casos não faz sentido ter o relacionamento bidirecional.