Galera boa noite…
Eu tenho um duas tabelas, uma aluno e outra série. A tabela aluno recebe uma chave estrangeira da série sendo assim todo aluno tem que ter uma série.
O meu problema é o seguinte, tenho um metodo que seleciona todos os alunos no banco de dados, meu Controller pega esse select e joga dentro de uma ListDataModel e minha pagina xhtml recebe esse List em um rich:dataTable, repare que la esta o id da Série e a sua descricao, segue a imagem:

Eis meu problema, quando eu clico na imagem de edição aciona um metodo que se chama Conteudo dentro do meu MB e redireciona pra minha pagina de edição, segue o código.
public String Conteudo() {
aluno = (Aluno) alunos.getRowData();
System.out.println(serie.getIdSerie());
return "editarAluno";
}
porem que quando esses dados vao para minha pagina de edicao somente vai os dados dos alunos e meu id da Serie esta indo vazio, segue a imagem abaixo.

Codigo do Meu MB
package br.com.objetivo.mb;
import java.util.ArrayList;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpSession;
import br.com.objetivo.dao.jdbc.AlunoJDBC;
import br.com.objetivo.dao.jdbc.SerieJDBC;
import br.com.objetivo.model.Aluno;
import br.com.objetivo.model.Serie;
public class AlunoMB {
private Aluno aluno;
private Serie serie;
private ListDataModel alunos;
private ListDataModel alunosDoc;
private ListDataModel pesquisaAlunos;
private SelectItem[] tdSeries;
public void setSeries(ListDataModel alunos) {
this.alunos = alunos;
}
public AlunoMB() {
serie = new Serie();
aluno = new Aluno();
}
// ocultando get e set
public ListDataModel getAlunos() {
try {
List alunosList = AlunoJDBC.getInstance().getAll();
alunos = new ListDataModel(alunosList);
} catch (Exception e) {
e.printStackTrace();
}
return alunos;
}
public String delete() {
try {
AlunoJDBC.getInstance().delete(aluno);
return "listarAluno";
} catch (Exception e) {
e.printStackTrace();
}
return "paginaErro";
}
public String Conteudo() {
aluno = (Aluno) alunos.getRowData();
System.out.println(serie.getIdSerie());
return "editarAluno";
}
}
Trechos do código da minha classe JDBC
protected List getManyByCriteria(String sql) throws IOException {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
List alista = new ArrayList();
try {
conn = getConnection();
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
Serie serie = getSerie(rs);
Aluno aluno = new Aluno(new Integer(rs.getInt("idAluno")),
rs.getString("nomeAluno"),
rs.getString("naturalidade"), rs.getDate("dtnasc"),
rs.getString("rg"), rs.getString("sexo"),
rs.getString("situacao"), rs.getString("pai"),
rs.getString("mae"), rs.getString("endereco"),
rs.getString("numero"), rs.getString("bairro"),
rs.getString("cidade"), rs.getString("uf"),
rs.getString("foneCasa"), rs.getString("foneTrabalho"),
rs.getString("foneCelular"), rs.getString("alunoRep"),
rs.getString("mensalidade"),
rs.getString("registroGeral"),
rs.getString("declaTransf"),
rs.getString("histEscolar"), rs.getString("regNasc"),
rs.getString("foto"), rs.getString("nacional"), serie);
alista.add(aluno);
}
return alista;
} catch (Exception e) {
throw new IOException("Erro", e);
} finally {
closeResources(conn, st, rs);
}
}
public List getAll() throws IOException {
String sql = "select a.idAluno, a.nomeAluno, a.naturalidade, a.dtnasc, a.rg, a.sexo, a.situacao, a.pai, a.mae,"
+ " a.endereco, a.numero, a.bairro, a.cidade, a.uf, a.foneCasa, a.foneTrabalho, a.foneCelular, "
+ "a.alunoRep, a.mensalidade, a.registroGeral, a.declaTransf, a.histEscolar, a.regNasc, a.foto, "
+ "a.nacional, s.idSerie, s.nomeSerie "
+ "from aluno a, serie s "
+ "where a.idSerie = s.idSerie "
+ "order by nomeSerie, nomeAluno";
return this.getManyByCriteria(sql);
}
galera espero que possam me ajudar. Vlw Abracos e Boa noite.