Boa tarde pessoal, gostaria de saber se para cada tabela que eu consulte alguns valores para exibição eu devo criar um javabean para toda a tabela ou um javabean para cada consulta?
Obrigado.
JavaBean para cada tabela de consulta?
7 Respostas
Boa tarde pessoal, gostaria de saber se para cada tabela que eu consulte alguns valores para exibição eu devo criar um javabean para toda a tabela ou um javabean para cada consulta?
Obrigado.
Bem confuso o que você escreveu cara.
Eu crio um JavaBean pra cada linha da consulta. A consulta toda estaria num list:
List<ClienteBean> lista = new ArrayList<ClienteBean>();
ClienteBean cliente = new ClienteBean();
//... popula cliente
//adiciona objeto cliente na lista
lista.add(cliente);
Boa tarde pessoal, gostaria de saber se para cada tabela que eu consulte alguns valores para exibição eu devo criar um javabean para toda a tabela ou um javabean para cada consulta?
Obrigado.Bem confuso o que você escreveu cara.
Eu crio um JavaBean pra cada linha da consulta. A consulta toda estaria num list:
List<ClienteBean> lista = new ArrayList<ClienteBean>(); ClienteBean cliente = new ClienteBean(); //... popula cliente //adiciona objeto cliente na lista lista.add(cliente);
Vou tentar de novo então.
Um exemplo, tenho a tabela registros, esta possui as colunas id, numcartao, data, hora, efet, sts. Gostaria de saber qual é o usual na hora de criar o javabean desta tabela, devo criar um javabean por consulta ou um javabean por tabela? Quando digo consulta ou tabela quero dizer: um javabean por tabela seria um que possua todos os atributos da tabela com seus tipos correspondentes e um por consulta possuira apenas os atributos que usarei naquela consulta.
Minha duvida existe pq as vezes o tipo correspondente é um inteiro mas na hora de exibir a consulta posso relacionar com outra tabela e o mesmo acaba tornando-se uma string. Por exemplo não exibir o numero do cartão mas sim o nome do usuario fazendo um relacionamento com a tabela usuario onde está possui o numero do cartão e o nome. Então se eu criar um javabean para a tabela o atributo numcartao será inteiro mas em uma determinada consulta ele será String.
Qual é procedimento mais correto?
Obrigado pela ajuda.
Considerando que um modelo OO eh semanticamente mais rico que um modelo relacional, voce deveria primeiro se preocupar em modelar as classes do seu dominio, e caso precise persisti-las em um banco relacional, você criaria as tabelas para atender a esse modelo OO e não o contrario.
Sim eu entendo. Gostaria de saber se tem qual é a solução mais correta não estou pulando as etapas. Na verdade o sistema normalmente eu crio um javabean com todos os atributos que uso daquela determinada tabela e caso necessite de outros para relacionamentos eu os crio no mesmo javabean. O problema é que sempre achei a solução um pouco “porca” gostaria de saber qual é o correto ou o mais proximo disso.
Nesse caso, você criaria uma classe Registro (que seria um JavaBean) e conteria os campos id, numcartao, data, hora, efet e sts (cada qual com seu respectivo tipo). A sua classe DAO (ou um framework ORM) seria responsável por resgatar valores do banco e transformar em objetos.
No caso que você citou, de mostrar o nome do usuário ao invés do número do cartão, a forma de se fazer isso irá depender de toda a modelagem do seu sistema. Você poderia, por exemplo, ter um atributo Usuario na classe Registro (se essa realmente for a necessidade, é claro).
cara q texto confuso em, inventarao uma parada chamada virgula “,” hahaha to de bob eu tb escrevo assim, seguinte
pelo q eu entendi a sua duvida é associar os valores de uma tabela a um pojo, primeiro tu vai fzr um pojo com todas as propiedades da tabela e só, na hora da insercao vc vai fazer isso:
List<ClienteBean> lista = new ArrayList<ClienteBean>();
for(resultSet.next){
ClienteBean cliente = new ClienteBean();// a cada loop é um objeto diferente, ou seja a cada linha é um objeto !!!
cliente.setNome = rs.getString("nome") ;
.
.
.
//adiciona objeto cliente na lista
lista.add(cliente);
}
depois vc vai ter a lista com todos os objetos !!!
Nesse caso, você criaria uma classe Registro (que seria um JavaBean) e conteria os campos id, numcartao, data, hora, efet e sts (cada qual com seu respectivo tipo). A sua classe DAO (ou um framework ORM) seria responsável por resgatar valores do banco e transformar em objetos.
No caso que você citou, de mostrar o nome do usuário ao invés do número do cartão, a forma de se fazer isso irá depender de toda a modelagem do seu sistema. Você poderia, por exemplo, ter um atributo Usuario na classe Registro (se essa realmente for a necessidade, é claro).
É assim mesmo que faço marco mas sempre achei que voce “errado”. Mas se está correto tanto melhor não preciso mudar a maneira de pensar.
Obrigado.