Setar o cache de um sequence (Oracle) no Annotation de uma entidade  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
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
[WWW] [MSN]
plentz
Moderador
[Avatar]

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."
[Email] [WWW]
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
[WWW] [MSN]
Alexandre Vilas Boas
JavaTeenager
[Avatar]

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
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.
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team