Erro de aplicação no Eclipse e no banco de dados Mysql

Pessoal peço humildemente a ajuda de voces, estou com um problema de execução de aplicações
Recentemente estou desenvolvendo uma aplicação para web, junto com o banco de dados e JSF PrimesFaces, etc…
Mas o erro é o seguinte, eu criei uma entidade no Hibernaite, que se formou uma tabela no mysql
O problema é que ao desenrolar do sistema , reparei que tinha colocador campos errados na tabela que fora gerado pelo o hibernate.
Ae eu tentei corrigir isso, e modifiquei os dados na entidade ou seja na classe.
Mas ao tentar gerar a aplicação java não rodou, pois eu ja havia instalado o Junit, mas nem o Junit reconhece aplicação. e muito menos o Java aplication.
Ai, eu fui no banco de dados e tentei excluir a tabele feita pelo o hibernate, e aconteceu outro problema, Não deu para excluir a tabela, O banco fala que existe uma chave estrangeira, só que não existe!!! O que apenas existe é a chave primaria.
Como eu sou relativamente novo no mundo da programação, e estou aprendendo por conta própria, fica meio difícil as vezes resolver esse tipo de problema.
Pode ser um problema bobo de configuração ,mas esta me deixando um pouco tanto impaciente.
Pois o problema nem é programar em si, mas esses erros e problemas que vão surgindo no desenrolar do desenvolvimento da aplicação, que me tira um pouco do sério.

Se quiserem mais informações para a solução, é só me perguntar, que eu lhe darei mais.
E me desculpem por enrolar tanto,rsrs

Eu aconselho a fazer backup da tabela usando o mysql dump, ou pelo workbench, ou outro qualquer e então dropar a database toda, conserta as tabelas e manda o hibernate criar de novo, com o backup em mão pega os inserts que ele tem e coloca nas tabelas que você não tava querendo excluir e na que você modificou, modifique os inserts dela.
Eu não sei o quão novo você é em programação, mas se ainda não tiver dominado o java normal eu sugiro a começar por ele, pois JSF é mais avançado.

1 curtida

Sim amigo foi exatamente o que eu fiz, mas como é apenas um projeto para aprender a trabalhar com Java web, dropei tudo sem fazer backup.

Para eu mudar os campos da entidade nesse caso eu tive que usar esta propriedade abaixo

property name=“hibernate.hbm2ddl.auto” value=“create-drop” />

Esta propriedade vai apagar tudo no banco

Pois o Hibernate só cria tabelas e não exclui.

Mas respondendo a sua duvida , eu comecei a programar no finalzinho do ano passado.

Por meios de vídeos aulas e um livro muito bom , chamado Como aprender a programar em Java
de H. M. Deitel / P. J. Deitel
Esse livro me fez aprofundar nessa linhagem,
E comecei a fazer aplicativos para desktop, e projetos pessoais, somente para diversão e autoaprendizagem, era como um hobby. Mas ae não vi muita vantagem no momento pra começar para programar pra desktop, pois eu não trabalho para nenhuma empresa.
Ai, eu pesquisei mais um pouco e vi que desenvolver aplicações para web dar mais lucro em termos financeiros, mesmo sendo como um freelancer . Ai, eu queria migrar para web, pensei em fazer até php, mais eu queria me aprofundar ainda mais em Java, Ai uni o útil com o agradável, já estou por volta de quase dois meses estudando e desenvolvendo aplicações para web , e o mais legal de tudo! é que estou reforçando ainda mais o meu conhecimento em Java pra Desktop, ou seja , revisando aquilo que eu deixei digamos assim : passar. E esta sendo bastante produtivo, e eu já domino relativamente bastante o Java básico, pois se eu não dominasse legal essa linhagem a principio
Não conseguiria entender nada sobre Java web e sobre o framework JSF, mas obrigado pela resposta e atenção.

Eu entendo sua vontade de desenvolver web, pois desktop hoje em dia não rola mais, mas a questão é que existem mais conteúdo para desktop e é mais fácil de aprender e depois fica mais fácil quando migrar, pois do java normal para o web muda algumas coisas mas a essência é a mesma. Eu enquanto estudava era impaciente e queria fazer para aprendizado um programa completo de loja de roupa. Acabei por ter que refaze-lo inúmeras vezes por aprender algo novo, pois é mais rápido começar do 0 do que tentar incluir a nova funcionalidade, pois sempre esquece de arrumar em algum lugar e em outros tem que refazer muitas coisas. Por mais que você esteja usando o JSF que é uma das melhores ferramentas atuais, só o fato de queimar etapas faz com que deixe de aprender coisas importantes que vai fazer falta mais na frente. O principal na programação é desenvolver a lógica e entender sobre diferentes métodos, como diferença entre orientação a objeto e estrutural, otimização, identação, documentação, usar nomes intuitivos em variáveis e classes, portabilidade, tempo de execução, banco de dados, segurança da aplicação, criptografia, threads, ejb, JPA, herança, métodos abstratos, conexão remota, protocolos HTTP, UDP, TCP e FTP, relatórios, estética do programa, relação cliente-usuário, entre outros.
Depois de dominar isso é que você conseguirá fazer uma boa aplicação, pois muito das vezes você chega lá na frente tendo gastado bastante tempo desenvolvendo para perceber que faltou alguma coisa e precisar refazer tudo, desde o começo.
Só estou te dando essa dica pois eu fui muito apressado e acabei perdendo bastante do meu tempo, já que eu cheguei a fazer um protótipo inteiro em arquivo txt, pois nem conhecia banco de dados, na hora que eu tive os recursos que julguei necessário(como parte gráfica e BD) fiz novamente e acabei vendo que existia muita coisa ainda a aprender (Hibernate, otimização, conexão remota, criptografia). Agora depois de 7 anos que começei a aprender o Java que estou terminando minha aplicação, tudo porque gastei tempo atoa achando que já sabia antes de terminar o aprendizado.

1 curtida

Sim amigo, eu entendi a sua visão, e não esta errada.
Eu sou um iniciante digamos assim nesse mundo da programação, comparado a voce.
E já percebi que ainda não aprendi nem 1/3 daquilo que devo para construir um sistema web eficaz, bonito, prático e seguro no mundo web, e já percebi que ainda estou no inicio do ice Berger.
Mesmo que eu tenha desenvolvido com os anos métodos de autoaprendizagem.
Sei que falta muito , e bastante para eu ser verdadeiramente um profissional com excelência em TI, mesmo não cursando um nível superior, ou seja uma faculdade. Mas pretendo me formar em Engenharia de software ou Ciência da Computação no futuro , e sei que a jornada é longa.
Os seus métodos são bons.
Mas eu procuro sempre estudar praticando
Ou seja , estudo bem o conceito, e depois caio matando na pratica
Pois a pratica que vai me aperfeiçoar e é claro que a lógica é fundamental para esse processo de aprendizagem.
Vejo uma imensa vantagem quando eu começo um projeto e estudo todo o que eu preciso aprender para que de fato o projeto seja concreto e sólido que der resultados
Eu tento ao máximo não pular etapas
Mas se eu sei que aquele conhecimento não vai me servir para aquele determinado projeto ou função naquele exato momento, eu dou uma estuda superficialmente, não descartando é claro o que devo aprender , mas eu sei que naquele exato momento não vai me ser útil.
Pois eu estudo sozinho, e preciso me manter motivado sempre , pois se não se tornara entediante
Por isso tento ao máximo me manter motivado, com desafios e projetos que eu veja que realmente me dará retorno, eu digo de retorno intelectualmente e principalmente financeiro
Pois preciso comer,rsrs.

Quando eu sou apresentado a uma ideia , procuro saber tudo sobre aquele assunto e de tudo que eu preciso para o desenvolver e implementar e melhorar aquela aplicação.

E descobri que aprender a aprender, não é uma opção, é que de fato um programador precisa
E eu me identifiquei muito com essa área.

E se souber de um artigo , link, livros em pdf, ou até vídeos aulas pra eu me aprofundar ainda mais nessa área de Java web , com artigos e complementos que essa linhagem voltada a parte web precisa, será sempre bem vindo. E obrigado::grinning:

1 curtida