| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 08:29:51
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
Olá utilizo hibernate para gerenciar meu banco postgres.
Monto meu objeto contendo todos dados inclusive o ID e chamo o .save(Objeto) mas ele ignora meu ID e utiliza o da sequence que esta no postgres, tem alguma forma de eu forçar ele usar meu ID?
pois tenho alguns registros "do sistema" que sempre ao subir servidor deve verificar se eles existem caso não existe devo inseri-los como eles podem ser modificados, não posso fazer verificação pela descrição, dai faço pelo id, mas se o hibernate fica utilizando a sequence eu não tenho como garantir que ele fique com ID que eu quero.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 08:32:03
|
leoramos
GUJ Ranger
![[Avatar]](/images/avatar/51e99940fd54d7566cb8e00b9e029bb9.jpg)
Membro desde: 28/03/2008 12:22:12
Mensagens: 845
Localização: Florianópolis / SC
Offline
|
Tira o Sequence do banco... simples.
Oooou então, cria um outro identificador no teu objeto; o que eu fortemente aconselho, já que tu queres usar constantes.
Abraço!
|
"Nunca atribua à falta de caráter o que pode ser facilmente explicado pela estupidez." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 08:35:44
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
Tirar a sequencê vai ser um tanto quanto ruim, pois quando os usuários forem incluir um novo registro nessa tabela eu vou ter que gerenciar o ID (esta é uma tabela que tanto tem registro do sistema "constantes" como tem registro adicionado pelo usuários).
Quanto a criar um outro ID, não fica estranho uma tabela com dois identificadores? um só pra ser utilizado como constante do sistema. (mas acho que vou acabar fazendo assim mesmo.)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 08:56:57
|
leoramos
GUJ Ranger
![[Avatar]](/images/avatar/51e99940fd54d7566cb8e00b9e029bb9.jpg)
Membro desde: 28/03/2008 12:22:12
Mensagens: 845
Localização: Florianópolis / SC
Offline
|
Então... é que não dá pra ter o melhor dos dois mundos (o banco gerenciar, e tu gerenciar só quando quiser). Quer dizer, talvez dê, mas eu não sei.
Pensa numa tabela de Pessoas Físicas, em que há um ID, mas há também um CPF, que não deixa de ser um identificador.
Não pensei em nenhuma solução melhor, digo, não parei nem pra pesquisar algo. Mas eu não vejo mal em fazer isso.
Eu só não criaria uma chave composta, porquê tenho nojo de trabalhar com chave composta com Hibernate.
Abraço!
|
"Nunca atribua à falta de caráter o que pode ser facilmente explicado pela estupidez." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 10:04:45
|
romarcio
JWizard
![[Avatar]](/images/avatar/0dc800465c816add16e0b6d63be91f49.jpg)
Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline
|
Não sei como funciona o PostgreSql, mas no Oracle a sequencia é uma coisa e o Id da tabela é outra.
Então acho que não entendi muito bem o que você quer fazer.
|
Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer
Blog | Facebook | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 10:08:30
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
o que eu quero é passar o ID e ele salvar no banco com o ID que eu informei,
exemplo:
Ele ignora meu id que informei, e pega o próximo na sequence que mapiei no modelo, que é o que deve fazer normalmente quando não informo o ID. mas informando o ID gostaria que ele utiliza o que passei.
model
This message was edited 1 time. Last update was at 17/08/2011 10:11:33
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 10:21:02
|
romarcio
JWizard
![[Avatar]](/images/avatar/0dc800465c816add16e0b6d63be91f49.jpg)
Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline
|
Você não vai conseguir fazer isso por que setou "strategy = GenerationType.AUTO". Assim você perde o controle sobre a geração dos Id's.
|
Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer
Blog | Facebook | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 10:21:56
|
jingle
Virtual Machine Man
Membro desde: 04/10/2006 20:40:08
Mensagens: 642
Localização: Canoas/RS
Offline
|
e tem alguma estrategia que, ele só fique auto quando não informo o id?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2011 10:46:08
|
romarcio
JWizard
![[Avatar]](/images/avatar/0dc800465c816add16e0b6d63be91f49.jpg)
Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline
|
Pelo que sei não. Ou um ou outro.
|
Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer
Blog | Facebook | Twitter |
|
|
 |
|
|