Estou com umas duvidas cruéis em relação a banco de dados com swing, seguinte, pra ‘manipular’ os dados do banco é recomendavel trabalhar com JDBC ou JPA? com JPA e mto mais
facil trabalhar claro, quem conhece sabe como é a diferença, mas eu tentei de todo o jeito mas simplesmente não funciona, se existir algum tópico aqui no forum gostaria que me passasse. E se for com JDBC (como estou fazendo) como fica o relacionamento de tabelas? Por ex na classe de relacionamento se eu criar a variavel do tipo: private Classe variavel;, vai estora o problema la na Tela (no Frame) pois o JText… obviamente só aceita String…, acho que da pra entender meu problema… Agradeço
Em relação com o que trabalhar, vc pode utilizar o que quiser… é como vc disse, utilizando o framework é muito mais facil… porém nao há uma regra do que se utilizar.
Em relação ao relacionamento entre tabelas, se vc utilizar o jdbc terá que fazer todo bd na unha
Nicolas_Fernandes
Opa, wippeldigo, beleza?
Se você NUNCA trabalhou com JDBC, recomendo que comece por ele. É pelo caminho das pedras que nós aprendemos, não?
Se já tiver sólidos conhecimentos de como o JDBC trabalha, vá direto para JPA. Muito mais prático e produtivo.
Agora: o seu problema, pelo que deu pra entender, é problema de casting. Você quer jogar uma classe no setText() de um JTextField? Fica difícil, hein? Você deve jogar o valor de um atributo para o JTextField, fazendo as conversões necessárias para tal.
Espero ter ajudado,
fique com Deus!
wippeldigo
Nicolas Fernandes:
Opa, wippeldigo, beleza?
Se você NUNCA trabalhou com JDBC, recomendo que comece por ele. É pelo caminho das pedras que nós aprendemos, não?
Se já tiver sólidos conhecimentos de como o JDBC trabalha, vá direto para JPA. Muito mais prático e produtivo.
Agora: o seu problema, pelo que deu pra entender, é problema de casting. Você quer jogar uma classe no setText() de um JTextField? Fica difícil, hein? Você deve jogar o valor de um atributo para o JTextField, fazendo as conversões necessárias para tal.
Espero ter ajudado,
fique com Deus! :D
Beleza mano, sim eu ja trabalhei e atualmente trabalho com JDBC no swing, tipo antes de começar a trabalhar com swing eu programava somente pra web obviamente usando JPA
só que quando comecei com swing eu tentei usar o JPA mas não dava certo, eu fiz todos os procedimentos necessarios e revizei mil vezes e não descobri porque não funcionava,
foi aí que recorri para o JDBC que é oq estou usando atualmente, ai cheguei a tal ponto que estou complicando para ‘manipular’ o relacionamento entre tabelas, e acaba dando o problema do qual citei acima
wippeldigo
gustavocoolt:
Em relação com o que trabalhar, vc pode utilizar o que quiser… é como vc disse, utilizando o framework é muito mais facil… porém nao há uma regra do que se utilizar.
Em relação ao relacionamento entre tabelas, se vc utilizar o jdbc terá que fazer todo bd na unha
Ah e problema que ocorre com o JPA é que simplesmente ele não localiza as tabelas no banco…, o persistence xml tava tudo certo e tal…
wippeldigo
Se voces estiverem dispostos a me ajudar eu posso refazer em JPA, pq atualmente meu sistema esta em JDBC ou simplesmente eu posto meu codigo pra ver se podem me ajudar com os problemas que encontrei em JDBC…
Agradeço pela atenção
Nicolas_Fernandes
wippeldigo, vamos lá:
Como você trabalhava com o JPA nos seus projetos WEB?
Penso eu que você criava um projetozinho chamado “BibliotecaProjetoWEB” e, neste, você fazia todo o modelo e regras de negócio. É isso mesmo?
Se não, você deve fazer desta maneira. Porquê (você se pergunta)? Porque você pode fazer com que este mesmo projeto seja utilizado tanto para WEB quanto para Desktop, somente referenciando-o nos respectivos projetos.
Comece criando um projeto chamado “BibliotecaDoMeuProjeto” (à sua escolha, lógico haha). Dentro dele, crie suas classes, suas annotations, seu Repository (BI) e faça os testes unitários.
Feito isso, é só você referenciar no seu projeto Swing. Na hora de usá-lo, fica simples:
// nos imports:importBlibliotecaDoMeuProjeto.Repository.ContatoRepository;buttonCadastrarContato.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){ContatoRepositorycontatoRepository=newContatoRepository();contatoRepository.salvar("Nicolas");}});
Sacou a ideia?
Abraços,
fique com Deus!
wippeldigo
Nicolas Fernandes:
wippeldigo, vamos lá:
Como você trabalhava com o JPA nos seus projetos WEB?
Penso eu que você criava um projetozinho chamado “BibliotecaProjetoWEB” e, neste, você fazia todo o modelo e regras de negócio. É isso mesmo?
Se não, você deve fazer desta maneira. Porquê (você se pergunta)? Porque você pode fazer com que este mesmo projeto seja utilizado tanto para WEB quanto para Desktop, somente referenciando-o nos respectivos projetos.
Comece criando um projeto chamado “BibliotecaDoMeuProjeto” (à sua escolha, lógico haha). Dentro dele, crie suas classes, suas annotations, seu Repository (BI) e faça os testes unitários.
Feito isso, é só você referenciar no seu projeto Swing. Na hora de usá-lo, fica simples:
// nos imports:importBlibliotecaDoMeuProjeto.Repository.ContatoRepository;buttonCadastrarContato.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){ContatoRepositorycontatoRepository=newContatoRepository();contatoRepository.salvar("Nicolas");}});
Sacou a ideia?
Abraços,
fique com Deus! :D
Sim, eu trabalho MVC e DAO, eu crio uma classe Generica onde fica toda a regra de negocio relacionado ao banco de dados…,
com a parte da regras não to com problemas, o problema mesmo é não funcionar (não localizar as tabelas) totalmente sem explicação. Vo refazer aqui e te passo
o problema
wippeldigo
Só uma coisa, em relação a tabela de relacionamento(trabalhando com JDBC), por ex: Tenho uma Classe Usuario e outra Email, e vo criar a Classe de relacionamento(tabela) o correto é cria ‘private Email email’ ou ‘private String email’ ?
Pergunto isso pq como havia dito sempre trabalhei com JPA em java pra web, ai em JDBC fiquei na duvida de como era instanciado os atributos.
Nicolas_Fernandes
wippeldigo:
Só uma coisa, em relação a tabela de relacionamento(trabalhando com JDBC), por ex: Tenho uma Classe Usuario e outra Email, e vo criar a Classe de relacionamento(tabela) o correto é cria ‘private Email email’ ou ‘private String email’ ?
Pergunto isso pq como havia dito sempre trabalhei com JPA em java pra web, ai em JDBC fiquei na duvida de como era instanciado os atributos.
A primeira resposta sua é a correta. Se você está trabalhando com a perspectiva de Orientação a Objetos, o mais lógico é que cada uma das tabelas seja representada por uma classe e os atributos que representam o relacionamento sejam do tipo da classe a ser relacionada.
Dá algum erro ao criar a SessionFactory? Você disse que não estão sendo reconhecidas as tabelas…
wippeldigo
Nicolas Fernandes:
wippeldigo:
Só uma coisa, em relação a tabela de relacionamento(trabalhando com JDBC), por ex: Tenho uma Classe Usuario e outra Email, e vo criar a Classe de relacionamento(tabela) o correto é cria ‘private Email email’ ou ‘private String email’ ?
Pergunto isso pq como havia dito sempre trabalhei com JPA em java pra web, ai em JDBC fiquei na duvida de como era instanciado os atributos.
A primeira resposta sua é a correta. Se você está trabalhando com a perspectiva de Orientação a Objetos, o mais lógico é que cada uma das tabelas seja representada por uma classe e os atributos que representam o relacionamento sejam do tipo da classe a ser relacionada.
Dá algum erro ao criar a SessionFactory? Você disse que não estão sendo reconhecidas as tabelas…
Falando de JPA, eu preciso criar as tabelas no banco? Porque em web as tabelas se criam ao executar o servidor, como pra desktop não tem um servidor é necessário criar na mão
as tabelas no banco, correto?