Verificação de associação(JPA)

Olá a todos, Tenho lá a classe Pessoa e também Cidade, onde uma cidade pode ter várias pessoas, mas uma pessoa só pode morar em apenas uma cidade. segue a anotação:
Na entidade Cidade


	@OneToMany(mappedBy="cidade")
	private Set<Pessoa> pessoas;

Entidade pessoa

@ManyToOne(targetEntity=Cidade.class, cascade={CascadeType.PERSIST, CascadeType.MERGE})
	@JoinColumn(name="idCidade")
	private Cidade cidade;

Preciso checar se existe alguma pessoa cadastrada na cidade que eu escolher. Faço assim:

if (!cidade.getPessoas().isEmpty()){
   .....//joga excessão
}

Faço isso, se cadastro uma cidade e logo em seguida quero apagar esta cidade, retorna erro na minha condição citada acima. mas se saio do meu sistema e entro novamente, e tento deletar a cidade, daí, deleto sem problemas!!

Ola, em algum momento vc ta fechando a sua sessão\entitymanger?? (depois das operações, não durante)

Não, não fecho sessão!!

Que besteira viu!!Resolvido!!