Detectando relcionamentos entre entidades

Qual a melhor maneira de detectar restrinções de integridade como o Hibernate (relacionamentos entre entidades) ? Tipo :

Class Bairro{
  String nome
  Cidade cidade;
  
 ... getter e setters ...

}
Class Cidade{
 String nome
 ... getter e setters ...
}

A unica solução é declarar uma coleção de bairros em cidade e toda vez que eu for deletar um objeto Cidade, checar primeiro a coleção de bairros???