6
respostas

Como popular a lista de votações (CandidatoPesquisa)

Olá,

Trata-se de relacionamento Muito para Muitos com Campo Extra.

Estou tentando editar uma pesquisa mas a lista de votações não aparece.

Minha dúvida é: 1) Quando uma pesquisa ou candidato é populado, então a lista de CandidatoPesquisa também é populada ? Em caso negativo, como popular essa lista ?

A seuir o endereço web do repositório: https://gitlab.com/cviniciusm/pesquisaeleitoraljoinfaces/tree/refatoracao-02

6 respostas

Você precisa fazer uma query buscando os objetos do tipo CandidatoPesquisa em função da pesquisa ou do candidato. Não cheguei a olhar seu repo, vou tentar só olhar se a gente não consegui resolver por aqui.

Olá,

Minha dúvida nesse curso e na especificação/implementação do JPA era se essa lista de CandidatoPesquisa, ou seja, Entity1Entity2 (tabela auxiliar) é populada pela implementação em conformidade com a especificação, ou se existe somente para obedecer a especificação e nesse caso o desenvolvedor deve fazer a consulta por conta própria.

Pela sua resposta, fica por conta do desenvolvedor.

A documentação do Hibernate que obedece a especificação JPA 2.1 não é clara nesse assunto. E nesse curso isso também não está claro.

Muito obrigado pela informação.

Olá,

Usei como referência o seguinte artigo: https://hellokoding.com/jpa-many-to-many-relationship-mapping-example-with-spring-boot-maven-and-mysql/

Tanto o entity Book quanto o entity Publisher possuem o método:

public Set<BookPublisher> getBookPublishers() {
        return bookPublishers;
    }

Eu estava considerando que a implementação alimentava automaticamente (e implicitamente) bookPublishers, mas não, o desenvolvedor tem que fazer isso manualmente, explicitamente.

100% da documentação sobre relacionamentos não cita isso, assim confunde o desenvolvedor iniciante.

Bastaria citar, por exemplo: o método getBookPublishers() não retorna o conjunto de BookPublisher, você desenvolvedor tem que fazer isso no seu Dao ou Service ou Repository.

Olá,

Aqui outra referência sobre o assunto: http://uaihebert.com/jpa-mini-book-first-steps-and-detailed-concepts/22/

Irei tentar a estratégia de criar um repository CandidatoPesquisaRepository usando o id CandidatoPesquisaId. E assim fazer a consulta pelo campo pesquisa.

acho que essa ultima estrategia eh a mais pertinente. Se vc mapear um oneToMany para o CandidatoPesquisa, acho que vai funcionar.. mas eu recomendo mandar a query.

Olá,

Criei uma NamedQueries com as NamedQuery's.

Agora a caixa de diálogo está trazendo as intenções de votos dos candidatos.

Falta somente atualizar essas informações no banco de dados.