considere usar annotations, é bem mais facil que escrever xml…
abrasss
Eu pensei especificadamente no banco porque no caso de Oracle (por exemplo) o melhor meio é utilizando Sequence.
ralphsilver
Zabeu:
ralphsilver eu não precisei fazer isto … sabe oque eu fiz ? claro chutando …mas funcionou…
Como o campo cod esta autoincrement no Mysql… a unica coisa que eu fiz foi retirar a linha .setCod(888)
Não setei nenhum cod…ai foi auto incrementado
não pode ser assim?
Funciona sim… vc enviando nulo para o mysql, ele automaticamente vai autoincrementar. Mas uma forma organizada seria colocando esse autoincremento na configuração.
Aproveitando o tópico, me surgiu uma dúvida: quando agente seta um auto incremento, o hibernate ve como um auto incremento do banco ou ele ve um número ideal para setar na tabela?
ralphsilver
ralphsilver:
renanreismartins:
ralphsilver que diferença faz o banco ? ¬¬ o hibernate abstrai…
considere usar annotations, é bem mais facil que escrever xml…
abrasss
Eu pensei especificadamente no banco porque no caso de Oracle (por exemplo) o melhor meio é utilizando Sequence.
Só para complementar, concordo com o renanreismartins e também indico utilizar JPA, pois é um padrão dos frameworks de persistencia.
renanreismartins
qdo vc seta @GeneratedValue(strategy = GenerationType.AUTO) o provedor de persistencia escolhe a melhor maneira de gerar a chave primaria de acordo com o banco utilizado.
qdo vc utiliza a opçao GenerationType.IDENTITY usa um recurso de auto incremento do banco para preencher o valor, este valor talvezs pode nao estar disponivel ateh o fim da transacao. E finalmente com GenerationType.SEQUENCE pode-se gerar sequencias para a chave como de 2 em 2… ex: 2, 4, 6…
apenas corrigindo, falei para usar annotations que pode ser usada tanto com jpa como com hibernate puro…