Mostrando objetos usando Swing

Não sei se eu vou conseguir explicar o que estou tentando mas vamos lá:

De um tempo pra cá venho tentado utilizar Hibernate para persistir dados em aplicações desktop mas todas as vezes isso me gerou mais trabalho e menos benefícios.
O banco de dados é relacional e a interface tb (pra cada formulário uma tabela principal, que mostra um registro da tabela de cada vez). Então eu crio componentes com mesmo “nome” dos campos no banco de dados e não preciso escrever os “campo.setText(meuResultSet.getString(0))” pra todos os campos do formulário. Por exemplo: uma agenda com nome e telefone.
2 campos no banco = 2 JTextField na tela (guardados em um hashmap cada um com sua chave igual ao nome do respectivo campo no banco);

Aí é só iterar sobre as campos ou os textFields e ir preenchendo usando um loop;

Isso economiza muito tempo. :slight_smile:

Se eu usar hibernate e meter um modelo orientado a objetos na história, como eu faço pra mostrar os dados na tela sem precisar ficar escrevendo os setText’s de todos os fields? Da mesma forma que o hibernate usa mapeamento entre os dados na memória e o banco, alguem conhece um mapeamento entre os dados na memória e a interface?

Se entendi bem, o genesis faz isso.

hm… interessante… vou dar uma olhada… valew!

na verdade não é bem isso. Usando a agenda do exemplo que eu dei, imagine que vc queira adicionar um campo de email. Pra isso seria preciso alterar a classe “Form” além de add o campo no JPanel e o campo no banco. Queria eliminar esse intermediário entre o banco e os componentes.

Olá,

Eu trabalho com aplicações desktop + hibernate na boa.

Eu faço o seguinte: guardo a consulta ou filtro do usuário em um atributo do tipo ArrayList que conterá os objetos que representam os registros do banco de dados. Este atributo está na classe Form, que é uma classe genérica em que todos os meus formulários de tela são herdados. Depois disso eu populo os dados na tela usando reflection.

Isto funciona conforme a navegação do usuário, por exemplo, se ele clica no botão “Próximo” para visualizar o próximo registro eu leio a posição seguinte do meu ArrayList para recuperar o objeto e populo os seus dados nos TextFields da tela utilizando reflection. Isto já está tudo programado nesta classe Form.

Espero ter ajudado… qualquer dúvida é só perguntar!

Talvez o databuffer seja o que você precisa.

Nunca usei e não estou por dentro do seu projeto, então não há como afirmar que vai resolver seu problema.

Mas vale a pena averiguar.

Parece que reflections vai me ajudar bastante. Quando eu conseguir posto o resultado aqui. Valew d+

Experimente também a biblioteca de binding do JGoodies.