Olá!
Como faço para remover um objeto de um List?
Códigos:
@Entity
@Table(name="aloca_turma_sala")
public class Aloca implements Serializable{
@EmbeddedId
private AlocaPK id;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="codcampus",insertable=false,updatable=false)
private Campus campus;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumns(value={
@JoinColumn(name="codcampus",insertable=false,updatable=false),
@JoinColumn(name="codbloco",insertable=false,updatable=false)
})
private Bloco bloco;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="codpavimento",insertable=false,updatable=false)
private Pavimento pavimento;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumns(value={
@JoinColumn(name="codcampus",insertable=false,updatable=false),
@JoinColumn(name="codbloco",insertable=false,updatable=false),
@JoinColumn(name="codpavimento",insertable=false,updatable=false),
@JoinColumn(name="codsala",insertable=false,updatable=false),
})
private Sala sala;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="codturma",insertable=false,updatable=false)
private Turma turma;
@Column(name="horainicio",insertable=false,updatable=false)
private String horaInicio;
@Column(name="horafim",insertable=false,updatable=false)
private String horaFim;
@Column(name="diasemana",insertable=false,updatable=false)
private String diaSemana;
//gets e sets omitidos
@Embeddable
public class AlocaPK implements Serializable{
@Column(name="codcampus")
private String codCampus;
@Column(name="codbloco")
private String codBloco;
@Column(name="codpavimento")
private int codPavimento;
@Column(name="codsala")
private String codSala;
@Column(name="codturma")
private String codTurma;
@Column(name="horainicio")
private String horaInicio;
@Column(name="horafim")
private String horaFim;
@Column(name="diasemana")
private String diaSemana;
//gets e sets omitidos
Função para deletar o objeto da lista:
public void dadosDeletarTurmas(ActionEvent event){
//pego os dados da tabela no jsp. A lista q carrega esta tabela chama-se listaAlocacoes
FacesContext fc = FacesContext.getCurrentInstance();
UIParameter parametroCodCampus = (UIParameter) event.getComponent().findComponent("pdcodcampus");
codcampus = parametroCodCampus.getValue().toString();
UIParameter parametroCodBloco = (UIParameter) event.getComponent().findComponent("pdcodbloco");
codbloco = parametroCodBloco.getValue().toString();
UIParameter parametroCodPavimento = (UIParameter) event.getComponent().findComponent("pdcodpavimento");
codpavimento = Integer.parseInt(parametroCodPavimento.getValue().toString());
UIParameter parametroCodSala = (UIParameter) event.getComponent().findComponent("pdcodsala");
codsala = parametroCodSala.getValue().toString();
UIParameter parametroHoraInicio = (UIParameter) event.getComponent().findComponent("pdhorainicio");
horainicio = parametroHoraInicio.getValue().toString();
UIParameter parametroHoraFim = (UIParameter) event.getComponent().findComponent("pdhorafim");
horafim = parametroHoraFim.getValue().toString();
UIParameter parametroDiaSemana = (UIParameter) event.getComponent().findComponent("pddiasemana");
diasemana = parametroDiaSemana.getValue().toString();
UIParameter parametroCodTurma = (UIParameter) event.getComponent().findComponent("pdcodturma");
codturma = parametroCodTurma.getValue().toString();
System.out.println("--------------------dados para deletar-----------------------------");
AlocaPK id = new AlocaPK();
id.setCodBloco(codbloco);System.out.println(codbloco);
id.setCodCampus(codcampus);System.out.println(codcampus);
id.setCodPavimento(codpavimento);System.out.println(codpavimento);
id.setCodSala(codsala);System.out.println(codsala);
id.setCodTurma(codturma);System.out.println(codturma);
id.setDiaSemana(diasemana);System.out.println(diasemana);
id.setHoraInicio(horainicio);System.out.println(horainicio);
id.setHoraFim(horafim);System.out.println(horafim);
System.out.println("--------------------dados na lista-----------------------------");
for (Aloca aloca2:listaAlocacoes){
System.out.println(aloca2.getId().getCodBloco());
System.out.println(aloca2.getId().getCodCampus());
System.out.println(aloca2.getId().getCodPavimento());
System.out.println(aloca2.getId().getCodSala());
System.out.println(aloca2.getId().getCodTurma());
System.out.println(aloca2.getId().getDiaSemana());
System.out.println(aloca2.getId().getHoraInicio());
System.out.println(aloca2.getId().getHoraFim());
}
Aloca aloca = new Aloca();
aloca.setId(id);
if(listaAlocacoes.remove(aloca)){
System.out.println("removeu");
}else{
System.out.println("nao encontrou");
}
}
resultado no console:
--------------------dados para deletar-----------------------------
A
01
1
01
ADCMC7
QUARTA
08:00
12:00
--------------------na lista-----------------------------
A
01
1
01
ADCMC7
QUARTA
08:00
12:00
nao encontrou
Está identico…
Alguem pode me ajudar???