Pessoal,
Estou com esse erro aqui could not set a field value by reflection setter of br.gov.cemaden.bean.AlertaLocalidadePK.idalerta
Ele não consegue settar o objeto
@EmbeddedId
private AlertaLocalidadePK alertaLocalidadePK;
Não sei mais o que fazer…pra mim só o fato da anotação @EmbeddedId e @MapsId(“alerta”) ele já entenderia a classe PK e as colunas.
Segue minhas classes, se alguém puder ajudar desde já muito obrigado
AlertaLocalidade.java
@Entity
@Audited
@Table(name="alt_alerta_localidade", schema = "public")
@SequenceGenerator(name = "sequence", sequenceName = "public.alerta_localidade_sequence", schema="public")
public class AlertaLocalidade {
@EmbeddedId
private AlertaLocalidadePK alertaLocalidadePK;
@MapsId("idalerta")
@ManyToOne
private Alerta alerta;
@MapsId("idlocalidade")
@ManyToOne
private Localidade localidade;
@ManyToOne
@JoinColumn(name="id_nivel", referencedColumnName = "id_nivel")
private Nivel nivel;
@ManyToOne
@JoinColumn(name="id_evento", referencedColumnName = "id_evento")
private Evento evento;
AlertaLocalidadePK
@Embeddable
public class AlertaLocalidadePK implements Serializable {
private static final long serialVersionUID = 1L;
public AlertaLocalidadePK(){
}
@Column(name = "id_alerta", nullable = false)
private Long idalerta;
@Column(name = "id_localidade", nullable = false)
private Long idlocalidade;
VersaoController
@Restrito
@Post
@Path("/versao/novo")
public void cadastraAlerta(Alerta alerta, Versao versao, VersaoImagem versaoimagem, AlertaLocalidade al, Nivel nivel, Evento evento, Localidade localidade){
alerta = dao.insere(alerta);//adicionando na tabela alerta
versao.setAlerta(alerta);//setando os valores para a tabela versão
versao = vdao.insere(versao);//adicionando na tabela versao
versaoimagem.setVersao(versao);
versaoimagem = vidao.insere(versaoimagem);//adicionando na tabela versao_imagem
//setando os valores para a tabela AlertaLocalidade
al.setAlerta(alerta);
al.setLocalidade(localidade);
al.setNivel(nivel);
al.setEvento(evento);
//adicionando na tabela alerta_localidade
al = aldao.insere(al);
}