Tabelas relacionadas - Objetos

5 respostas
J

Olá…

Tenho um Diagrama de tabelas em que uma é a tabela pai e outras as filhas…

Em java, devo criar objetos de cada tabela?

Exemplo: TABELA USUARIO ----> Um objeto (pai)
TABELA FORMACAO —> Outro objeto(filho)

ouuuu

um objeto só com todas as variáveis de usuario e formação?

5 Respostas

R

Prezado bom dia!

Você terá que mapear cada tabela de seu banco em objetos ( entidades ) em Java ( JPA ).

Jemerson

Não sei se compreendir sua dúvida, mas vamos lá:

A classe formação seria algo do tipo:
public class Formacao {
    private String nome;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    
    

}

A classe usuário teria :

public class Usuario {

    private Formacao formacao;
    private String nome;

    /**
     * perceba que o construtor só permite eu criar um usuário
     * somente se eu passar um objeto da classe Formação e um nome
     * do tipo String
     **/
    public Usuario(Formacao formacao, String nome) {
        this.formacao = formacao;
        this.nome = nome;
    }

    public Formacao getFormacao() {
        return formacao;
    }

    public String getNome() {
        return nome;
    }
}
Na classe main, você teria de instanciar um objeto da classe Formação para depois você conseguir instanciar a classe usuário.Conseguiu notar uma dependência?
public static void main(String [] args){
    Formacao f=new Formacao();
    f.setNome("Arquitetura");
    
    Usuario usr=new Usuario(f,"joão")
}
Esta é uma das formas de instanciar o usuario, pois se tivessemos criado um metodo construtor na classe Formacacao, poderíamos fazer assim:
Usuario usr=new Usuario(new Formacao("Arquitetura"),"José");
U

nesse caso do exemplo não vejo necessidade de criar herança.

Herança tu só irar utilizar quando tiver mais de dois objetos que tem metodos e variáveis iguais.

exemplo: usuario -----> classe pai

cliente ------> classe filha
funcionario ------> classe filha

discorpio

Bom dia a todos.

Se você pretende criar uma tabela só para listar a formação dos usuários em uma JComboBox, ai tudo bem, neste caso, o recomendável seria que você criasse essa lista dentro da aplicação e não no banco, visto que em se tratando de formação curricular, se essa lista passar de 20 registros é muito, e criar uma tabela só para armazenar 20 registros, seria desperdício de recurso.

No caso de você querer que o próprio usuário preencha essa lista de formação em um formulário somente para inserir a formação, o que não é recomendável, ai sim, cabe e deve se criar a tabela no banco de dados, e nesse caso, você deve criar um objeto para cada tabela, eis que, um desses objetos só armazenará somente tipos de formação preenchidas pelo usuário do sistema, enquanto que na tabela usuário preencherá todos os seus atributos.

Há também a opção de você deixar esse campo livre de qualquer lista, para o usuário digitar a formação dentro de um JTextField no formulário de usuário, em muitos casos é até preferível, contudo, a opção mais recomendável é a primeira que citei, ou seja, criar a lista na aplicação e colocá-la no JComboBox

J

Contudo, crieu um formulario para que o usuario preecha com sua informaçoes…

Valeu, obrigado pela dica!

Criado 12 de janeiro de 2012
Ultima resposta 17 de jan. de 2012
Respostas 5
Participantes 5