| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/02/2007 15:32:54
|
rodrigo_flausino
Debugger
Membro desde: 26/03/2006 12:42:03
Mensagens: 74
Localização: Varginha - MG
Offline
|
Ae, pessoal, blz! Eu to tentando criar uma entidade com uma sequência (sequence), mas o Oracle XE sempre seta a sequência com um cache de valor 20. Alguém conhece o parâmetro ou annotation para eu poder setar o valor desta propriedade e deixar como NOCACHE?
A minha entidade está assim:
Eu to usando o Hibernate para fazer o schema e criar as tabelas.
|
Select Game
Rodrigo Flausino |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2007 13:42:59
|
plentz
Moderador
![[Avatar]](/images/avatar/73f490f3f868edbcd80b5d3f7cedc403.png)
Membro desde: 28/01/2004 07:34:12
Mensagens: 1584
Localização: Porto Alegre, RS
Offline
|
Já tentou assim?
|
Diego Plentz - Twitter
"Provide options, don't make lame excuses." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 11:16:08
|
rodrigo_flausino
Debugger
Membro desde: 26/03/2006 12:42:03
Mensagens: 74
Localização: Varginha - MG
Offline
|
Mesmo com allocationSize igual a 0, a seqüência é criada com o cache. Tipo, se eu faço algumas inserções seguidas (por exemplo, com os IDs 1,2,3 e 4 (que a seqüência gera)), ele funciona normal. Se eu espero algum tempo e faço uma nova inserção, o Oracle gera ID com o cache (e o ID, ao invés de ser ID=5, passa a ser ID=21).
Eu queria ver se eu conseguiria setar o cache num annotation (e eu não precisar abrir o banco e setar a seqüência manualmente).
|
Select Game
Rodrigo Flausino |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/02/2007 14:24:49
|
Alexandre Vilas Boas
JavaTeenager
![[Avatar]](/images/avatar/dff8e9c2ac33381546d96deea9922999.jpg)
Membro desde: 07/05/2004 15:57:56
Mensagens: 181
Localização: São Paulo
Offline
|
rodrigo_flausino wrote:
Eu queria ver se eu conseguiria setar o cache num annotation (e eu não precisar abrir o banco e setar a seqüência manualmente).
isso é com o allocationSize como o Diego sugeriu.
Será que outro objeto (uma classe, trigger, procedure etc) não esta usando a mesma sequence?
vale lembrar que se você manda salvar um objeto e alguma exceção é lançada, tua sequence pode ter sido incrementada.
[]'s
|
Consolador inside |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/02/2007 08:40:04
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
rodrigo_flausino wrote:Mesmo com allocationSize igual a 0, a seqüência é criada com o cache. Tipo, se eu faço algumas inserções seguidas (por exemplo, com os IDs 1,2,3 e 4 (que a seqüência gera)), ele funciona normal. Se eu espero algum tempo e faço uma nova inserção, o Oracle gera ID com o cache (e o ID, ao invés de ser ID=5, passa a ser ID=21).
Eu queria ver se eu conseguiria setar o cache num annotation (e eu não precisar abrir o banco e setar a seqüência manualmente).
Uma sequence em Oracle trabalha assim mesmo. Não é possivel garantir continuidade, apenas unicidade. Por menor que você deixe o buffer (mesmo configurando no BD), pode surgir gaps na sequencia. Se você quer garantir continuidade, não pode usar sequence do Oracle.
|
|
|
 |
|
|