Setar o cache de um sequence (Oracle) no Annotation de uma entidade

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:

@Id @SequenceGenerator(name = "CLIENTE_ID_SEQ", sequenceName = "CLIENTE_ID_SEQ", allocationSize=1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CLIENTE_ID_SEQ") private int id;

Eu to usando o Hibernate para fazer o schema e criar as tabelas.

Já tentou assim?

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).

[quote=rodrigo_flausino]
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).[/quote]

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

[quote=rodrigo_flausino]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).[/quote]

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.