DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Tinho
 

País: Brasil
Estado: RJ
Cidade: Quissamã
Mensagens: 138
 Postado em: 6/7/2010 7:06:46 PM

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
 
#Código
 @OneToMany(mappedBy = "secretaria", fetch = FetchType.LAZY)
    private List<CadastrarSolicitante> cadastrarSolicitante;
 
CadastrarSolicitante
 
#Código
 @OneToOne
    @JoinColumn(name = "codigosecretaria")
    private CadastrarSecretaria secretaria;
CARLOS EDUARDO DOMINGUES MAZZI
 
 


País: Brasil
Estado: SP
Cidade: LINS
Mensagens: 591
 Postado em: 7/7/2010 10:14:13 AM
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.

 
Tinho
 

País: Brasil
Estado: RJ
Cidade: Quissamã
Mensagens: 138
 Postado em: 7/7/2010 4:53:01 PM

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!
 

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 9/7/2010 8:56:43 AM
Resolvido ?


 
Tinho
 

País: Brasil
Estado: RJ
Cidade: Quissamã
Mensagens: 138
 Postado em: 11/7/2010 8:30:32 PM
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.

 
CARLOS EDUARDO DOMINGUES MAZZI
 
 


País: Brasil
Estado: SP
Cidade: LINS
Mensagens: 591
 Postado em: 12/7/2010 11:50:58 AM
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?
 

 
Tinho
 

País: Brasil
Estado: RJ
Cidade: Quissamã
Mensagens: 138
 Postado em: 12/7/2010 9:26:42 PM
Carlos, primeiramente desculpa. Aqui esta o meu equals e hashCode, não entendir o que tentou me indicar a respeito desse codigo.  
 
#Código
@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;
    } 

 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03