| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2009 16:07:59
|
leonardocfmg
Debugger
Membro desde: 24/01/2007 10:30:37
Mensagens: 69
Localização: Muriaé - MG
Offline
|
Como faço para colocar auto-incremento numa chave composta do Hibernate?
O auto-incremento seria no primeiro atributo!
Testei a notação @GenerateValue e não funciona, só funciona com @Id e a mesma não é válida para @Embeddable.
Alguém já implementou, ou possui um técnica de escape?
This message was edited 2 times. Last update was at 09/03/2009 07:14:24
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2009 07:15:40
|
leonardocfmg
Debugger
Membro desde: 24/01/2007 10:30:37
Mensagens: 69
Localização: Muriaé - MG
Offline
|
Impossível, ninguém nunca implementou?
leonardocfmg wrote:Como faço para colocar auto-incremento numa chave composta do Hibernate?
O auto-incremento seria no primeiro atributo!
Testei a notação @GenerateValue e não funciona, só funciona com @Id e a mesma não é válida para @Embeddable.
Alguém já implementou, ou possui um técnica de escape?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2009 08:51:12
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline
|
Não faz sentido você ter uma chave composta da maneira que você está tentando fazer. O conceito de chave primária é identificar o registro como sendo único na tabela, e um identity por si só já faz o trabalho.
Tem algum motivo especial pra querer fazer dessa forma?
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2009 10:22:04
|
leonardocfmg
Debugger
Membro desde: 24/01/2007 10:30:37
Mensagens: 69
Localização: Muriaé - MG
Offline
|
O campo idTipoExtintor precisa ser do tipo primary key e auto-increment, até aí normal.
Só que o campo código também precisa ser do tipo primary key, pois não é gerado pelo banco como índice, por ser String é gerado pelo usuário, não podendo existir mais de um código igual.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2009 10:43:30
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
mas se o id já é primario, unico e gerado por que voce tem que ter essa String como primaria também?
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/03/2009 12:05:04
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline
|
leonardocfmg wrote:O campo idTipoExtintor precisa ser do tipo primary key e auto-increment, até aí normal.
Só que o campo código também precisa ser do tipo primary key, pois não é gerado pelo banco como índice, por ser String é gerado pelo usuário, não podendo existir mais de um código igual.
Então crie uma constraint UNIQUE (unique index) para essa coluna. Aí se tentar inserir dados duplicados o banco de dados não vai deixar.
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
|
|