Pessoal, sou meio iniciante em java e estou com a seguinte dúvida:
Estou utilizando Hibernate e tenho uma tela de cadastro e quero usar um método só de salvamento, tanto numa alteração quanto numa inclusão … por isso estou utilizando o “Merge” ou “SaveOrUpdate”. Porém (em qualquer um dos dois) só faz a alteração dos dados se na criação da minha classe que vou gravar, eu passar o ID dela:
senão passar o ID ele inclui um registro novo … mesmo se os dados já existirem no banco …
Consegui resolver isso, guardando o ID num JLabel e depois qdo vou criar a classe eu verifico se ta preenchido ou não, mas acho essa maneira meio ruim ou até errada …
Alguém poderia me dizer se é assim mesmo ou se tem alguma maneira melhor ou certa de fazer isso ???
Cara eu não entendi o que vc quis dizer com “salvamento”
mas para tentar ajuda-lo…o Merge é a mesma coisa que o update / insert do sql a diferença é que ele “atropela” o cache do hibernate tanto o primeiro quanto o segundo…
já o save do hibernate vai verificar o objeto na sessão antes de fazer uma alteração no BD
Quanto ao problema do ID é claro que se vc passa um ID o hibernate entende que o registro já existe portanto atualiza…se vc não passa nada é o mesmo que criar um registro novo
tiago_86
Giulliano valew pela resposta !!! mas o save do hibernate não funcionou …