Relacionamento de Tabelas ManyToOny?

Pessoal tenho um sistema aqui em jsf assim:

Uma tabela Pessoa e outra Mensalidade :

AS TABELAS TÃO ASSIM :

-- Table: mensalidade

-- DROP TABLE mensalidade;

CREATE TABLE mensalidade
(
  men_id bigint NOT NULL,
  data_pag date,
  valor bigint,
  pessoa_id bigint,
  CONSTRAINT mensalidade_pkey PRIMARY KEY (men_id),
  CONSTRAINT fkef67005faa19c41 FOREIGN KEY (pessoa_id)
      REFERENCES pessoa (pessoa_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
  OIDS=FALSE
);
ALTER TABLE mensalidade OWNER TO root;
-- Table: pessoa

-- DROP TABLE pessoa;

CREATE TABLE pessoa
(
  pessoa_id bigint NOT NULL,
  rg character varying(255),
  bairro character varying(255),
  celular character varying(255),
  cidade character varying(255),
  cpf character varying(255),
  data_matricula date,
  data_nasc date,
  digina character varying(255),
  email character varying(255),
  endereco character varying(255),
  fone character varying(255),
  matricula character varying(40) NOT NULL,
  nome character varying(40) NOT NULL,
  orgao_exp character varying(255),
  senha character varying(255),
  status character varying(255),
  titulo_ele character varying(255),
  uf character varying(255),
  CONSTRAINT pessoa_pkey PRIMARY KEY (pessoa_id),
  CONSTRAINT pessoa_cpf_key UNIQUE (cpf)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE pessoa OWNER TO root;

Pessoa 1 ------------------------N Mensalidaes

/*************************************************/
 /*  relacionamento 1 Pessoa para n Mensalidade   */
 /*                                               */
 /*************************************************/
        @OneToMany(mappedBy="pessoa", fetch = FetchType.LAZY)
        @Cascade(CascadeType.ALL)
        public List<Mensalidade> Mensalidades;
 /*********************fim*****************************/

Mensalidaes N----------------------------1 Pessoa

[code]//
/
relacionamento n Mensalidade para 1 Pessoa /
/
/
/
/
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="pessoa_id",
insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)

public Pessoa pessoa;
/fim***/
[/code]

No Formulário Pagamento tenho:

 <h:outputLabel for="matricula" value="Digite a Matrícula: " />
                                <h:inputText id="matriuclaInput" value="#{pessoaMB.pessoa.matricula}"  styleClass="inputPesquisa" >
                                <a4j:commandButton  value="Pesquisar" action="#{pessoaMB.pesquisaByMatricula}" styleClass="inputPesquisaBtn2" reRender="inputs,fisicas,pessoas">
                                </a4j:commandButton>
                                </h:inputText>
<h:outputLabel for="id" value="CÓDIGO.: "  />
                                <h:inputText id="id" value="#{mensalidadeMB.mensalidade.id}" styleClass="inputPesquisa3" size="4" >
                                </h:inputText>
<h:outputLabel for="Data Pagamento.:" value="Data Pagamento.: "  />
                    <rich:calendar id="data_pag" value="#{mensalidadeMB.mensalidade.data_pag}">
                    <a4j:support event="ondateselected" />
                    </rich:calendar>
<h:outputLabel for="valor" value="Valor.: ($)"/>
                                <h:inputText id="valor" value="#{mensalidadeMB.mensalidade.valor}" styleClass="edit" size="30">
                                </h:inputText>

   Resumindo: Eu entro no formulário pagar mensalidade procuro uma pessoa Acho ela cadastro a data e o valor e relaciono os 2 . pessoa e mensalidade !

minhas classes :

package br.gov.nutec.modelo;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.validator.NotNull;

@Entity
@Table(name="mensalidade",schema="public")
public class Mensalidade implements Serializable {

private static long serialVersionUID = 1L;
public static long getSerialVersionUID() {
return serialVersionUID;
    }
    public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }

	@Id
        @NotNull
	@GeneratedValue(strategy=GenerationType.SEQUENCE)
	@Column(name="men_id")   // chave primaria
	private Long id;

        @Column(name="data_pag")
        @Temporal(javax.persistence.TemporalType.DATE)
	private Date data_pag;

        @Column(name="valor")
        private Long valor;

/*************************************************/
/*  relacionamento n Mensalidade para 1 Pessoa   */
/*                                               */
/*************************************************/
  @ManyToOne(fetch = FetchType.EAGER)
  @JoinColumn(name="pessoa_id",
                  insertable=true, updatable=true)
  @Fetch(FetchMode.JOIN)
  @Cascade(CascadeType.SAVE_UPDATE)

  public Pessoa pessoa;
  
 /*********************fim************************/
    @Override
     public boolean equals(Object obj){
		if( (obj instanceof Mensalidade) && ( ((Mensalidade)obj).getValor().equals(this.getValor())) ){
			return true;
		}else{
			return false;
		}
	}

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 41 * hash + (this.getId() != null ? this.getId().hashCode() : 0);
        hash = 41 * hash + (this.getData_pag() != null ? this.getData_pag().hashCode() : 0);
        hash = 41 * hash + (this.getValor() != null ? this.getValor().hashCode() : 0);
        return hash;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Date getData_pag() {
        return data_pag;
    }
    public void setData_pag(Date data_pag) {
        this.data_pag = data_pag;
    }
    public Long getValor() {
        return valor;
    }
    public void setValor(Long valor) {
        this.valor = valor;
    }
}
package br.gov.nutec.modelo;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import javax.persistence.*;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table(name="pessoa",schema="public")
public class Pessoa implements Serializable {

private static long serialVersionUID = 1L;
public static long getSerialVersionUID() {
return serialVersionUID;
    }
public static void setSerialVersionUID(long aSerialVersionUID) {
serialVersionUID = aSerialVersionUID;
    }   

        @Id
	//@GeneratedValue(strategy=GenerationType.IDENTITY)
        @GeneratedValue(strategy=GenerationType.SEQUENCE)
	@Column(name="pessoa_id")   // chave primaria
	private Long id;

        @NotNull
	@Length(min =5 , max = 40)
	@Column(name="nome")
	private String nome; 
        
        @Column(name="cpf", unique=true)
        private String cpf;
                
        @NotNull
        @Length(min =1 , max = 40)
        @Column(name="matricula")
	private String matricula;

        @Column(name="digina")
	private String digina;

        @Column(name="data_matricula")
        @Temporal(javax.persistence.TemporalType.DATE)
	private Date data_matricula;

        @Column(name="RG")
	private String RG;

        @Column(name="orgao_exp")
	private String orgao_exp;

        @Column(name="titulo_ele")
	private String titulo_ele;

        @Column(name="endereco")
	private String endereco;

        @Column(name="bairro")
	private String bairro;

        @Column(name="cidade")
	private String cidade;

        @Column(name="uf")
	private String uf;

        @Column(name="fone")
	private String fone;

        @Column(name="celular")
	private String celular;

	@Column(name="email")
	private String email;
	
	@Column(name="senha")
	private String senha;
        
        @Column(name="status")
	private String status;

        @Temporal(TemporalType.DATE)
	@Column(name="data_nasc")
	private Date data_nasc;

 /*************************************************/
 /*  relacionamento 1 Pessoa para n Mensalidade   */
 /*                                               */
 /*************************************************/
        @OneToMany(mappedBy="pessoa", fetch = FetchType.LAZY)
        @Cascade(CascadeType.ALL)
        private List<Mensalidade> Mensalidades;
 /*********************fim*****************************/
        
	public void setNome(String nome) {
		System.out.println("Pessoa >> nome : "  + this.nome);
		
		this.nome = nome;
	}

	
	@Override
	public boolean equals(Object obj){
		if( (obj instanceof Pessoa) && ( ((Pessoa)obj).getCpf().equals(this.getCpf())) ){
			return true; 
		}else{
			return false; 
		}
	}

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 23 * hash + (this.getId() != null ? this.getId().hashCode() : 0);
        hash = 23 * hash + (this.getNome() != null ? this.getNome().hashCode() : 0);
        hash = 23 * hash + (this.getCpf() != null ? this.getCpf().hashCode() : 0);
        hash = 23 * hash + (this.getMatricula() != null ? this.getMatricula().hashCode() : 0);
        hash = 23 * hash + (this.getDigina() != null ? this.getDigina().hashCode() : 0);
        hash = 23 * hash + (this.getData_matricula() != null ? this.getData_matricula().hashCode() : 0);
        hash = 23 * hash + (this.getRG() != null ? this.getRG().hashCode() : 0);
        hash = 23 * hash + (this.getOrgao_exp() != null ? this.getOrgao_exp().hashCode() : 0);
        hash = 23 * hash + (this.getTitulo_ele() != null ? this.getTitulo_ele().hashCode() : 0);
        hash = 23 * hash + (this.getEndereco() != null ? this.getEndereco().hashCode() : 0);
        hash = 23 * hash + (this.getBairro() != null ? this.getBairro().hashCode() : 0);
        hash = 23 * hash + (this.getCidade() != null ? this.getCidade().hashCode() : 0);
        hash = 23 * hash + (this.getUf() != null ? this.getUf().hashCode() : 0);
        hash = 23 * hash + (this.getFone() != null ? this.getFone().hashCode() : 0);
        hash = 23 * hash + (this.getCelular() != null ? this.getCelular().hashCode() : 0);
        hash = 23 * hash + (this.getEmail() != null ? this.getEmail().hashCode() : 0);
        hash = 23 * hash + (this.getSenha() != null ? this.getSenha().hashCode() : 0);
        hash = 23 * hash + (this.getData_nasc() != null ? this.getData_nasc().hashCode() : 0);
        return hash;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getNome() {
        return nome;
    }
    public String getCpf() {
        return cpf;
    }
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }
    public String getMatricula() {
        return matricula;
    }
    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }
    public String getDigina() {
        return digina;
    }
    public void setDigina(String digina) {
        this.digina = digina;
    }
    public Date getData_matricula() {
        return data_matricula;
    }
    public void setData_matricula(Date data_matricula) {
        this.data_matricula = data_matricula;
    }
    public String getRG() {
        return RG;
    }
    public void setRG(String RG) {
        this.RG = RG;
    }
    public String getOrgao_exp() {
        return orgao_exp;
    }
    public void setOrgao_exp(String orgao_exp) {
        this.orgao_exp = orgao_exp;
    }
    public String getTitulo_ele() {
        return titulo_ele;
    }
    public void setTitulo_ele(String titulo_ele) {
        this.titulo_ele = titulo_ele;
    }
    public String getEndereco() {
        return endereco;
    }
    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }
    public String getBairro() {
        return bairro;
    }
    public void setBairro(String bairro) {
        this.bairro = bairro;
    }
    public String getCidade() {
        return cidade;
    }
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }
    public String getUf() {
        return uf;
    }
    public void setUf(String uf) {
        this.uf = uf;
    }
    public String getFone() {
        return fone;
    }
    public void setFone(String fone) {
        this.fone = fone;
    }
    public String getCelular() {
        return celular;
    }
    public void setCelular(String celular) {
        this.celular = celular;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getSenha() {
        return senha;
    }
    public void setSenha(String senha) {
        this.senha = senha;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public Date getData_nasc() {
        return data_nasc;
    }
    public void setData_nasc(Date data_nasc) {
        this.data_nasc = data_nasc;
    }
    public List<Mensalidade> getMensalidades() {
        return Mensalidades;
    }
    public void setMensalidades(List<Mensalidade> Mensalidades) {
        this.setMensalidades(Mensalidades);
    }
}
package br.gov.nutec.mb;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import br.gov.nutec.facade.MensalidadeFacade;
import br.gov.nutec.facade.MensalidadeFacadeImpl;
import br.gov.nutec.modelo.Mensalidade;

public class MensalidadeMB implements Serializable {
	private static long serialVersionUID = -333995781063775201L;
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }
    public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }
	
	
        /* campos */
        
        private Mensalidade Mensalidade = new Mensalidade();
        private Long id;
        private Mensalidade mensalidade;


	public MensalidadeMB(){
		System.out.println(" >>>>>>>>>>>>>>>>>>>> Contrutor do Mensalidade_MB <<<<<<<<<<<<<<<<<<");
		if(this.Mensalidade == null){
			this.Mensalidade = new Mensalidade();
		}
	}

	public String login() throws Exception{
        boolean logado = false;
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
        //logado = MensalidadeService.autentica(this.getMensalidade().getEmail(), this.getMensalidade().getSenha());
        if(logado){
            session.setAttribute("user", logado);
            rp.sendRedirect(rq.getContextPath() + "/pages/index.jsf");
            return "success";
        }else{
            session.setAttribute("user", null);
            session.removeAttribute("user");
            rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
            return "failure";
        }
    }
	public String logout() {
		HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
		session.invalidate();
		try {
			rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "logoutOk";
	}

        //* *******************************FUNCOES BASICAS**********************************************************/
	public String save(){
		MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();

		mensalidadeService.salva(this.getMensalidade());

		this.setMensalidade(new Mensalidade());
		return "cadastraSucesso";
	}

	public String delete(){
		MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();
		this.getMensalidade().setId(getId());
		mensalidadeService.remove(this.getMensalidade());
		this.setMensalidade(new Mensalidade());

		return "removeSucesso";
	}

	public String merge(){
		MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();
		mensalidadeService.atualiza(this.getMensalidade());
		this.setMensalidade(new Mensalidade());

		return "atualizaSucesso";
	}

	public String load(){
		MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();
		this.setMensalidade(mensalidadeService.procura(this.getId()));

		return "pesquisaSucesso";
	}

   //* *******************************FUNCOES BASICAS*******FIM***************************************************/
public List<Mensalidade> getMensalidades(){
		MensalidadeFacade pessoaService = new MensalidadeFacadeImpl();
		return pessoaService.lista();
	}

      	public Mensalidade getMensalidade() {
		return mensalidade;
	}
	public void setMensalidade(Mensalidade mensalidade) {
		this.mensalidade = mensalidade;
	}
       
        public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
}
package br.gov.nutec.mb;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import br.gov.nutec.facade.PessoaFacade;
import br.gov.nutec.facade.PessoaFacadeImpl;
import br.gov.nutec.modelo.Pessoa;

public class PessoaMB implements Serializable {
	private static long serialVersionUID = -333995781063775201L;
    public static long getSerialVersionUID() {
        return serialVersionUID;
    }
    public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }

        /* campos */

	private Pessoa pessoa = new Pessoa();
	private Long id;
        
	public PessoaMB(){
		System.out.println(" >>>>>>>>>>>>>>>>>>>> Contrutor do PESSOA_MB <<<<<<<<<<<<<<<<<<");
		if(this.pessoa == null){
			this.pessoa = new Pessoa(); 
		}
	}
	
	public String login() throws Exception{
        boolean logado = false;
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        PessoaFacade pessoaService = new PessoaFacadeImpl();
        logado = pessoaService.autentica(this.getPessoa().getEmail(), this.getPessoa().getSenha());
        if(logado){
            session.setAttribute("user", logado);
            rp.sendRedirect(rq.getContextPath() + "/pages/index.jsf");
            return "success";
        }else{
            session.setAttribute("user", null);
            session.removeAttribute("user");
            rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
            return "failure";
        }
    }
	public String logout() {
		HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
		session.invalidate();
		try {
			rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "logoutOk";
	}

        //* *******************************FUNCOES BASICAS**********************************************************/
	public String save(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();

		pessoaService.salva(this.pessoa);

		this.pessoa = new Pessoa();
		return "cadastraSucesso";
	}

	public String delete(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		this.pessoa.setId(id);
		pessoaService.remove(this.pessoa);
		this.pessoa = new Pessoa();

		return "removeSucesso";
	}

	public String merge(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		pessoaService.atualiza(this.pessoa);
		this.pessoa = new Pessoa();

		return "atualizaSucesso";
	}

	public String load(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		this.pessoa = pessoaService.procura(this.id);

		return "pesquisaSucesso";
	}

   //* *******************************FUNCOES BASICAS*******FIM***************************************************/

        public String list(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		this.setPessoa(pessoaService.procura(this.getId()));
		return "pesquisaSucesso";
	}
	public String pesquisaByNome(){
		PessoaFacadeImpl pessoaService = new PessoaFacadeImpl();
		this.setPessoa(pessoaService.procuraByNome(this.getPessoa().getNome()));
		return "pesquisaByNomeSucesso";
	}
       
        public List<Pessoa> getPessoasByNome(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		List<Pessoa> lista = pessoaService.pesquisaPessoasByNome(this.getPessoa().getNome());
		return lista;
	}

        public List<Pessoa> getPessoasByMatricula(){//seta procura by matricula
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		List<Pessoa> lista = pessoaService.pesquisaPessoasByMatricula(this.pessoa.getMatricula());
		return lista;
	}
         public String pesquisaByMatricula(){ //seta procura by matricula
		PessoaFacadeImpl pessoaService = new PessoaFacadeImpl();
		this.setPessoa(pessoaService.procuraByMatricula(this.getPessoa().getMatricula()));
		return "pesquisaByMatriculaSucesso";
	}
	public List<Pessoa> getPessoas(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();		
		return pessoaService.lista();
	}
	
      	public Pessoa getPessoa() {
		return pessoa;
	}
	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
}

Erro Retornado :

Grande Abraço !

Muito Obrigado !

Andei Andei vendo a apostila da caelum ! lá tem fala que tem da um new no Salvar ! não entendir muito bem !

Boa noite Galera,

Impressão minha ou sua na sua classe MensalidadeMB não tem um getMensalidade ?
Note essa linha de erro:

Caused by: javax.el.PropertyNotFoundException: /pages/cadastroMensalidade/cadastraMensalidade.xhtml @131,132 value="#{mensalidadeMB.mensalidade.id}": Target Unreachable, ‘mensalidade’ returned null

Ops… desculpe tem o método getMensalidade sim…

Mas note que você tem dois atributos: Mensalidade e mensalidade

private Mensalidade Mensalidade = new Mensalidade();

private Long id;

private Mensalidade mensalidade;

E no seu construtor você esta criando a Mensalidade, ja no get você esta retornando a mensalidade.

Bom… não sei se é isso.

[]s

Eu to evoluindo aos poucos ela ta assim agora :


package br.gov.nutec.mb;

import br.com.easyfaces.component.html.HtmlSelectOneMenu;
import java.io.IOException;
import java.io.Serializable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import br.gov.nutec.facade.MensalidadeFacade;
import br.gov.nutec.facade.MensalidadeFacadeImpl;
import br.gov.nutec.facade.PessoaFacade;
import br.gov.nutec.facade.PessoaFacadeImpl;
import br.gov.nutec.modelo.Mensalidade;
import br.gov.nutec.modelo.Pessoa;

import java.util.List;
import javax.faces.context.FacesContext;
import javax.xml.ws.Action;

public class MensalidadeMB implements Serializable {
    
	private static long serialVersionUID = 1L;
        public static long getSerialVersionUID() {
        return serialVersionUID;
    }
        public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }
    
    //=========================== classes importadas e relacionadas===========================================//
	private Mensalidade mensalidade = new Mensalidade();
	private Long idMensalidade;

        private Mensalidade mensaldiadePagar = new Mensalidade();

        private Pessoa pessoa = new Pessoa();
        private Long id;

        private HtmlSelectOneMenu pessoaSelecionado; // adiciona menu e import
      

        public HtmlSelectOneMenu getPessoaSelecionado() { //get e import
        return pessoaSelecionado;
    }

                
	public MensalidadeMB(){
		System.out.println(" >>>>>>>>>>>>>>>>>>>> Contrutor do Mensalidade_MB <<<<<<<<<<<<<<<<<<");
		if(this.mensalidade == null){
			this.mensalidade = new Mensalidade();
		}
	}

	public String login() throws Exception{
        boolean logado = false;
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
        //logado = MensalidadeService.autentica(this.getMensalidade().getEmail(), this.getMensalidade().getSenha());
        if(logado){
            session.setAttribute("user", logado);
            rp.sendRedirect(rq.getContextPath() + "/pages/index.jsf");
            return "success";
        }else{
            session.setAttribute("user", null);
            session.removeAttribute("user");
            rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
            return "failure";
        }
    }
	public String logout() {
		HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
		FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
		session.invalidate();
		try {
			rp.sendRedirect(rq.getContextPath() + "/pages/login/login.jsf");
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "logoutOk";
	}

        //* *******************************FUNCOES BASICAS**********************************************************/
	public String save(){
		MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();
		mensalidadeService.salva(this.getMensalidade());
		this.setMensalidade(new Mensalidade());
                //mensalidade
                
                PessoaFacade pessoaService = new PessoaFacadeImpl();

		this.setPessoa(new Pessoa());
		return "cadastraSucesso";
	}

        public void salva(Action event) {
        PessoaFacade pessoaService = new PessoaFacadeImpl();
        MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();
        Long t = Long.parseLong(getPessoaSelecionado().getValue().toString());
        
        Pessoa p = pessoaService.procura(this.getId());
        mensalidade.setPessoa(p);
        mensalidadeService.salva(this.getMensalidade());
        mensalidade = new Mensalidade();

    }

	public String delete(){
		MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
		this.getMensalidade().setIdMensalidade(getIdMensalidade());
		MensalidadeService.remove(this.getMensalidade());
		this.setMensalidade(new Mensalidade());

		return "removeSucesso";
	}

	public String merge(){
		MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
		MensalidadeService.atualiza(this.getMensalidade());
		this.setMensalidade(new Mensalidade());

		return "atualizaSucesso";
	}

	public String load(){
		MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
		this.setMensalidade(MensalidadeService.procura(this.getIdMensalidade()));

		return "pesquisaSucesso";
	}

   //* *******************************FUNCOES BASICAS*******FIM***************************************************/
        //get set para pessoa

        public List<Pessoa> getPessoas(){
		PessoaFacade pessoaService = new PessoaFacadeImpl();
		return pessoaService.lista();
	}

      	public Pessoa getPessoa() {
		return pessoa;
	}
	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

        // fim get set pessoa
        public String list(){
		MensalidadeFacade mensalidadeService = new MensalidadeFacadeImpl();
		this.setMensalidade(mensalidadeService.procura(this.getId()));
		return "pesquisaSucesso";
	}
       
	public List<Mensalidade> getMensalidades(){
		MensalidadeFacade MensalidadeService = new MensalidadeFacadeImpl();
		return MensalidadeService.lista();
	}

	public Long getId() {
		return getIdMensalidade();
	}
	public void setIdMensalidade(Long idMensalidade) {
		this.idMensalidade = idMensalidade;
	}

        public Mensalidade getMensalidade() {
                return mensalidade;
    }
        public void setMensalidade(Mensalidade mensalidade) {
                this.mensalidade = mensalidade;
    }
        public Long getIdMensalidade() {
                return idMensalidade;
    }
    public Mensalidade getMensaldiadePagar() {
                return mensaldiadePagar;
    }
    public void setMensaldiadePagar(Mensalidade mensaldiadePagar) {
                this.mensaldiadePagar = mensaldiadePagar;
    }
    public void setId(Long id) {
                this.id = id;
    }
    public void setPessoaSelecionado(HtmlSelectOneMenu pessoaSelecionado) {
                this.pessoaSelecionado = pessoaSelecionado;
    }
}

Boa noite Galera,

E o erro, continua ?

[]s

nao agora ta file !

só que nao consigo salva uma mensalidade para uma pessoa… tu tem um crud que faz isso ManyToone ?

web2ajax@gmail.com
manda pra mim da uma olhada !

vlw

Boa noite Galera,

Eu não tenho aqui, estou desenvolvendo um mas é com Jboss seam e hibernate pra persistência.
Se quiser me passe o que esta dando erro ou que não esta funcionando.

[]s

: heheh

o nome do arquivo e menino

Mano se tu postar no 4shared fica otimo valeu

Boa tarde Galera,

Amigo, eu não consegui mexer me nada nessa duas noites, tem um projeto do curso que fiz sobre jboss seam na Caelum e estou refazendo em casa para fixar melhor.

Nele tem uma classe Trecho e uma classe Voo, entre elas existe um relacionamento 1 : N, um Trecho possui N Voos, um Voo só possui um Trecho.
Hoje devo dar uma adiantada nele e dai te passo.

O problema é que não sei usar 4share… como faço isso ?
Eu também não encontrei nada naquele link que você passou… o que era para ter lá ?

[]s

Aqui em Fortaleza so tem praia e puta para turista curso que é bom nada, no link era para ter :

jr

Bom para quem gostaria de saber, eu fiz esse projeto usando Vraptor 3, em JSF ficou uma merda ! ahahha

Estou até agora tentando entender porque esse post está no “Frameworks e Bibliotecas brasileiros” se você usa JSF. Deveria estar em outro subfórum.

simples coisa feia… eu postei no lugar errado…

ahahah