Boa tarde.
Estou começando a implementação de um sistema desktop que será em swing (pequeno porte) e gostaria de saber que se é melhor usar JDBC ou Hibernate para a parsistência e consulta ao banco.
Boa tarde.
Estou começando a implementação de um sistema desktop que será em swing (pequeno porte) e gostaria de saber que se é melhor usar JDBC ou Hibernate para a parsistência e consulta ao banco.
Hibernate. Outra alternativa é o Spring.
Mas JDBC direto, jamais.
A resposta é, depende.
Depende da tua familiaridade com cada um.
Depende da utilização dos acessos ao banco de dados.
Depende de qual vai ser a complexidade dos acessos.
Se você tem mais familiaridade com JDBC, o sistema tem poucas requisições ao banco de dados, o sistema não terá muitas conexões concorrentes/simultâneas, o sistema tem poucas tabelas no banco, vai de JDBC.
Agora, se for o contrário, você tiver mais tranquilidade com Hibernate, com Criteria ou HQL, o sistema tiver muitas requisições, concorrência ou muitas tabelas, até pelo fato de tempo de desenvolvimento, sugiro hibernate.
Comece mudando o nome do seu tópico para algo como:
Uso “JDBC ou Hibernate?”
Convenhamos que Dica pode ser tanta coisa… kkkkkkk
Concordo com drsmachado.
Se é algo pequeno o JDBC é uma boa.
Porém eu acho que o Spring com o JDBC da conta do recado para coisas parrudas tambem.
Agora lastimável é o cidadão joaoBluSCBR, entrar no topico e dar uma resposta destas que ele deu. Se não ajuda não atrapalha.
Deve estar querendo ganhar uns pontos por responder no forum mesmo que seja besteira.
Não tem motivos pra usar jdbc “puro” se o spring facilita muito o acesso a ele.
No fim das contas o Spring fornece a infra que você acabaria desenvolvendo se fosse fazer tudo na mão.
Agora lastimável é o cidadão joaoBluSCBR, entrar no topico e dar uma resposta destas que ele deu. Se não ajuda não atrapalha.
Deve estar querendo ganhar uns pontos por responder no forum mesmo que seja besteira.
Na verdade, faz muito sentido o comentário dele. Escolher um bom título para o tópico é o primeiro passo para obter ajuda.
Sem falar que se alguém tiver essa dúvida depois, vai ser dificil achar com o tópico com esse nome.
Então, camaradas, a questão que eu vejo é o nível de complexidade.
Se o sistema for apenas um simples crud, uma agenda, por exemplo, não vejo tanta necessidade de criar um monte de arquivos XML e fazer a inversão de controle e o que mais for possível com Hibernate ou Spring (ok, eu sei que existe anotação e facilita muito).
Se ele está desenvolvendo algo para um ou dois usuários, com poucas tabelas, complexidade e acessos ao banco esporádicos, creio que apenas criando classes específicas e mantendo uma integridade das mesmas já valha a pena.
Agora, como propus, se o sistema terá uma complexidade maior, com certeza é possível utilizar vários outros recursos.
Quanto ao título do tópico, concordo. Eu desisti até mesmo de orientar a formatação de code. Simplesmente ignoro os tópicos mal formatados, com perguntas desconexas ou cuja formulação é ruim, simples assim.
O sistema terá cerca de 30 tabelas e o número de usuário poderá variar, em média uns 3.
marcio_teixeira Talvez o IBatis fosse um meio termo entre o JDBC e o Hibernate. Vi estes dias uma implementação com IBatis e achei bem interessante.
Com relação ao titulo ou formatação de code, eu acho que tem que orientar mesmo os usuários, mas existem formas e formas. Postar um topico so para criticar o titulo sem nem tentar responder ou entender a duvida da outra pessoa eu acho desnecessário e deselegante. Acho que é querer aparecer, porém é so minha opnião pessoal, realmente eu não gostaria que o topico seguisse nesse debate. Desculpem-me se meu comentário tambem foi desnecessário.
Para 30 tabelas eu já consideraria o Hibernate, usando annotations.
Além de ser bem simples, facilitará muito o teu trabalho, você só precisará se preocupar com determinadas limitações, como os lazy initialization para fetchs e tal (caso haja relacionamentos muitos para muitos) e coisas do tipo.
Comece mudando o nome do seu tópico para algo como:Uso “JDBC ou Hibernate?”
Convenhamos que Dica pode ser tanta coisa… kkkkkkk
Pode ser tanta coisa, mas basta ler a mensagem e ver do que se trata.
O Spring não exige arquivos .xml, nem annotations e nem inversão de controle. Isso é opcional. Você pode usar o Spring só como um facilitador para o JDBC, praticamente do jeito que você usaria o JDBC padrão.
Com a vantagem dele gerenciar abertura e fechamento de conexão, statements e resultsets para você, e disparar exceptions não-verificadas ao invés de verificadas.
E, sim, é uma boa prática do fórum escrever títulos descritivos. Eu mesmo vivo pedindo para os usuários do fórum evitarem títulos que não digam nada.
Tópico movido para o fórum de persistência. Como a dúvida não é sobre como fazer a interface gráfica, e sim, qual API de persistência usar, não creio que o fórum “interface gráfica” seja o mais adequado.