Olá pessoal, estou com um problema e não tenho ideia de como resolve-lo
Tenho duas entidades Professores e Matérias, então criei um relacionamento ManyToMany.
Como estou usando Hibernate gerei minhas tabelas automaticamente, criando assim uma terceira entidade chamada professores_materias.
Enfim, minha duvida é como inserir dados nessa entidade, pois não tenho uma classe modelo, muito menos uma classe Dao da mesma.
Obrigado por qualquer ajuda.
Segue abaixo as minhas classes.
Professores
package br.com.techfor.escola.model;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
@Entity
public class Professores {
@Id
@GeneratedValue
private Long id;
private String nome;
private String cpf;
public Long getId() {
return id;
}
@SuppressWarnings("deprecation")
@ManyToMany
@Cascade(value = {CascadeType.ALL, CascadeType.DELETE_ORPHAN})
@JoinColumn(name = "id_materias")
private List<Materias> materias;
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public List<Materias> getMaterias() {
return materias;
}
public void setMaterias(List<Materias> materias) {
this.materias = materias;
}
}
Matérias
package br.com.techfor.escola.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Materias {
@Id
@GeneratedValue
private Long id;
private String materia;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getMateria() {
return materia;
}
public void setMateria(String materia) {
this.materia = materia;
}
}
ProfessoresBean
package br.com.techfor.escola.controller;
import java.util.ArrayList;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import br.com.techfor.escola.dao.MateriasDAOImpl;
import br.com.techfor.escola.dao.ProfessoresDAOImpl;
import br.com.techfor.escola.model.Materias;
import br.com.techfor.escola.model.Professores;
@Controller
public class ProfessoresBean {
private Professores professores;
private ProfessoresDAOImpl professoresDAOImpl;
private MateriasDAOImpl materiasDAOImpl;
private List<Professores> list;
private List<Materias> listamaterias;
private List<SelectItem> listasalvar;
private Long id;
public Professores getProfessores() {
if (professores == null) {
professores = new Professores();
}
return professores;
}
public void setProfessores(Professores professores) {
this.professores = professores;
}
public ProfessoresDAOImpl getProfessoresDAOImpl() {
return professoresDAOImpl;
}
@Autowired
public void setProfessoresDAOImpl(ProfessoresDAOImpl professoresDAOImpl) {
this.professoresDAOImpl = professoresDAOImpl;
}
public MateriasDAOImpl getMateriasDAOImpl() {
return materiasDAOImpl;
}
@Autowired
public void setMateriasDAOImpl(MateriasDAOImpl materiasDAOImpl) {
this.materiasDAOImpl = materiasDAOImpl;
}
public List<Professores> getList() {
if (list == null) {
list = new ArrayList<Professores>();
}
list = professoresDAOImpl.listar();
return list;
}
public void setList(List<Professores> list) {
this.list = list;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<Materias> getListacompleta() {
if (listamaterias == null) {
listamaterias = new ArrayList<Materias>();
}
listamaterias = materiasDAOImpl.listar();
return listamaterias;
}
public void setListacompleta(List<Materias> listamaterias) {
this.listamaterias = listamaterias;
}
public List<SelectItem> getListaincompleta() {
if (listasalvar == null) {
listasalvar = new ArrayList<SelectItem>();
for (Materias materias : this.getListacompleta()) {
listasalvar.add(new SelectItem(materias.getId(), materias
.getMateria()));
}
}
return listasalvar;
}
public void setListaincompleta(List<SelectItem> listasalvar) {
this.listasalvar = listasalvar;
}
public void Deletar() {
String id = (String) FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get("id");
professores = professoresDAOImpl.getBean(Professores.class, new Long(
Long.parseLong(id)));
professoresDAOImpl.delete(professores);
}
public void Alterar() {
professoresDAOImpl.update(professores);
}
public void carrega() {
String id = (String) FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get("id");
this.professores = professoresDAOImpl.getBean(Professores.class,
new Long(Long.parseLong(id)));
}
public void Salvar() {
professoresDAOImpl.save(professores);
// salvarMateria();
}
// public void salvarMateria() {
// professores.getMaterias().addAll( listasalvar);
// }
}