d = em.find(locacao_locadora.class, Integer.parseInt(cod_locacao.getText().trim()));
este trecho só consegue buscar a chave primária???
d = em.find(locacao_locadora.class, Integer.parseInt(cod_locacao.getText().trim()));
este trecho só consegue buscar a chave primária???
E como vamos saber?
Sei lá que classe tem o objeto “em”.
Bom pelo que eu entendi,
possivelmente isso é um entity manager e ele deve estar usando hibernate.
Se for isso então você não está buscando uma chave primária.
Você está buscando um objeto do tipo “locacao_locadora” que está na base de dados, passando como parâmetro no método find a chave primária ( Integer.parseInt(cod_locacao.getText().trim()) ) .

Bom dia. Concordo com o fmad27.
Com certeza em é uma referênci ao objeto Entity Manager correto?
Este é um find que o próprio hibernate possui, e sim, essa busca é somente pela chave primária do objeto em questão.
Só uma dica, crie uma variavél do tipo int ou Integer para receber o valor, faça o parseInt fora do método find, é só uma garantia que não haverá execption do tipo NumberFormatException().
Abraços