[RESOLVIDO] Problemas com <SELECTITEM> Ajuda!

Ola pessoal,
estou com um probleminha no meu SelectItem. Pois bem, eu tenho uma algumas tabelas, neste post vou mostrar somente 2, pois aprendendo nas mesma, acredito que eu vou fazer nas outras a mesma coisa. Entao tenho 2 tabelas. Quero resgatar os nomes dos em um combo dentro de um form no . Eis a img e o codigo que eu estava fazendo.
VOU INSERIR A IMG PARA VOCES AVALIAREM AS TABL.

[code] public class SetorBean implements Serializable { //Atributos private Setor setor = new Setor(); private List setors; private SetorDAO dao = new SetorDAO(); private PredioDAO pDAO = new PredioDAO(); public List listPredios; .... //getters and setters public List listPredios() throws ClassNotFoundException, SQLException { List toReturn = new LinkedList(); for (Predio predio : pDAO.getAllPredios()) { String id = Integer.toString(predio.getId()); toReturn.add(new SelectItem(id, predio.getNome())); } return toReturn; } [/code]

<setor.xhtml>

<h:outputText value="Predio:" />
<h:selectOneMenu id="predio"  value="#{setorBean.setor.predio.id}" required="true" requiredMessage="Informe o valor Predio" >
  <f:selectItems value="#{setorBean.listPredios}" />
</h:selectOneMenu>
.... [code] public void add(Setor generic) throws SQLException { String query = "INSERT INTO Ouvidoria.Setor (PREDIO_ID, NOME, INSTANCIA, " + "TIPO_VARA, TIPO_AREA, TIPO_SETOR, TELEFONE, ATIVO) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; executeCommand(query, generic.getPredio().getId(), generic.getNome(), generic.getInstancia(), generic.getTipoVara(), generic.getTipoArea(), generic.getTipoSetor(), generic.getTelefone(), generic.getAtivo(), generic.getId()); } [/code]

Bem pessoal esse e a problematica, quando eu vou inserir os dados do form aparece esse erro. Desculpem a minha ignorancia, ainda estou aprendendo, nao consegui resolver o problema e por isso estou aki humildemente pedindo ajuda. Eis o erro.

12/05/2011 10:12:14 com.sun.faces.lifecycle.ProcessValidationsPhase execute
AVISO: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
javax.el.PropertyNotFoundException: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:202)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:319)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1028)
	.........


javax.faces.FacesException: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:84)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	..........


Caused by: javax.el.PropertyNotFoundException: /setor.xhtml @61,146 value="#{setorBean.setor.predio.id}": Target Unreachable, 'predio' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:202)
	at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:319)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1028)
	at javax.faces.component.UIInput.validate(UIInput.java:958)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1209)
	at javax.faces.component.UIInput.processValidators(UIInput.java:698)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1085)
	at javax.faces.component.UIForm.processValidators(UIForm.java:244)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:10

Quem puder me ajudar, fico agradecido !!!

É o seguinte, o erro tá dizendo que ele não consegue alcançar o atributo prédio ( Target Unreachable, ‘predio’ returned null ).

Dentro do atributo setor, tem um atributo predio e ele esta null… ai a combo nao consegue setar o valor. Da um new nele que vai funcionar.

Abraco.

Exatamente isso!!!

aki vai a solucao,

    //Métodos
    public String nova() {
        setor = new Setor();
        setor.setPredio(new Predio());
        return "inserir";
    }

Na hora de iniciar o novo, eu esqueci de dar um NEW no PREDIO. (lezera baré minha).

Mas manaooo valeu msmo OHHHH, obrigado por informar uma desatenção minha !

blza… edita o primeiro post seu e escreve [RESOLVIDO] no final do titulo…

abraco!