Fórum Dúvida relacionamento Hibernate #380835

06/07/2010

0

Olá Pessoal Boa Noite   Estou com uma dúvida no relacionamento entre duas Entidades:   Tenho uma entidade com nome CadastrarSecretaria (chave primaria codigosecretaria) e outra CadastrarSolicitante (chave estrangeira codigosecretaria) , fiz o relacionamento das mesmas e fiz um cadastro de uma secretaria cadastrou normalmente. Na tabela do banco de dados (CadSolicitante) não aparece a minha o codigosecretaria. Pois ao tentar cadastrar algum solicitante dar erro porque esse campo esta null. O que devo fazer pra resolver- lo?   Segue o código:   CadastrarSecretaria  
 @OneToMany(mappedBy = "secretaria", fetch = FetchType.LAZY)
    private List<CadastrarSolicitante> cadastrarSolicitante;
 
  CadastrarSolicitante  
 @OneToOne
    @JoinColumn(name = "codigosecretaria")
    private CadastrarSecretaria secretaria; 
Roberto Rodrigues.

Roberto Rodrigues.

Responder

Posts

07/07/2010

Carlos Mazzi

Se vc for colocar o campo para preenchimento do usuario, vc deve ter esse mesmo campo, no seu DAO e Faces...
Caso contrario , se vc quer se seja o código de algum usuario que está logado no sistema, vc deve atribuir como um parametro...

E o erro é por que no banco de dados, fisicamente existe a integridade referencial da mesma.
Responder

Gostei + 0

07/07/2010

Roberto Rodrigues.

Carlos eu coloquei o campo pro usuario escolher (combo), quando cadastrar um solicitante ele tem que escolher uma das secretarias selecionadas ate tudo ok, o usuario já esta digitando e selecionando uma das secretarias. Agora vem o problema despois de digitar o nome do solicitante e selecionar a secretaria o usuario tem que clicar no buttom "confirmar", sendo que a minha dúvida é no armazenamento, porque no banco tem que ser armazenado é o código (chaveprimaria) relacionado com o nome da secretaria selecionada. Por exemplo:   Cadastro   Nome: Teste   Secretaria: testando   Buttom "confirmar"     ARMAZENAR NO BANCO   NOME              codigo  teste                   1   NO CAMPO CÓDIGO TEM QUE ARMAZENAR O CODIGO E NÃO O NOME SELECIONADO!  
Responder

Gostei + 0

09/07/2010

Dyego Carmo

Resolvido ?

Responder

Gostei + 0

11/07/2010

Roberto Rodrigues.

Dyego todo post meu você fica perguntando se já esta resolvido, quero saber porque? Pode ficar tranquilo que quando alguem me ajudar a resolver eu fecho o post, agora não quer ajudar não fica pressionando pra fechar o post não, porque pelo menos a minha pessoa você nunca ajudou aqui no forum so fica perguntando se já esta resolvido.
Responder

Gostei + 0

12/07/2010

Carlos Mazzi

Ops... calma companheiro.. isso é uma pratica que as vezes fazemos, para saber se a pessoa está realmente vendo o post que foi lançado, pois algumas vezes as pessoas lançam e esquecem...."caem  no esquecimento".. e como normalmente somos os moderadores, ficamos com a função de "limpar" os posts, duplicados, propagandas, etc... e os chamados em aberto, cancelados tbm...   Mas fica sussegado, creio que ele nao tenha feito por pressão, eu tbm faço isso, mas é em busca de organizar o barato, beleza?     Vamos ao que interessa, no meu caso eu tentaria ver os métodos equals e hashcode do Bean selecionado, vc já verificou essa parte?  
Responder

Gostei + 0

12/07/2010

Roberto Rodrigues.

Carlos, primeiramente desculpa. Aqui esta o meu equals e hashCode, não entendir o que tentou me indicar a respeito desse codigo.    
@Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final CadastrarSolicitante other = (CadastrarSolicitante) obj;
        if (this.codigocadsolicitante != other.codigocadsolicitante && (this.codigocadsolicitante == null || !this.codigocadsolicitante.equals(other.codigocadsolicitante))) {
            return false;
        }
        return true;
    }
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 97 * hash + (this.codigocadsolicitante != null ? this.codigocadsolicitante.hashCode() : 0);
        return hash;
    }
 @Override
    public String toString(){
        return nome;
    } 
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar