Eze :Hibernate + oracle

35 views
Skip to first unread message

Pablo Benjamin Gutierrez

unread,
Sep 4, 2008, 2:04:14 PM9/4/08
to juju...@googlegroups.com
Algo que encontre en parta solucionarlo es que envez de que sea
identity, uses native o sequence.
Fijate el link, espero te sirva.

Saludos

http://coding.derkeiler.com/Archive/Java/comp.lang.java.databases/2004-05/0084.html

Pablo Benjamin Gutierrez

unread,
Sep 4, 2008, 2:11:29 PM9/4/08
to juju...@googlegroups.com
Sorry este link es mas claro.
http://devsoftx.wordpress.com/2008/05/31/nhibernate-oracle/

Esta para NHibernate pero se aplica lo mismo.

Saludos, Suerte.

Ezequiel

unread,
Sep 5, 2008, 8:54:49 AM9/5/08
to Jujuy JUG
Gracias Pablo

Yo también encontré como de hacerlo.
Lo que hice fué crear la tabla y una SEQUENCE (secuencia), esta última
es la que se encarga de la autogeneración del valor para campo
deseado.
El mapeo en Hibernate para la secuencia es el siguiente:

<id name="sampleId" type="int">
<column name="SAMPLE_ID" precision="6" scale="0" />
<!-- <generator class="identity" /> -->
<generator class="sequence">
<param name="sequence">SEQ_SAMPLE_ID</param>
</generator>
</id>

On 4 sep, 15:11, Pablo Benjamin Gutierrez <pablobenjami...@gmail.com>
wrote:
> Sorry este link es mas claro.http://devsoftx.wordpress.com/2008/05/31/nhibernate-oracle/

infe...@gmail.com

unread,
Sep 24, 2008, 9:52:20 AM9/24/08
to Jujuy JUG

Lo mejor es crear una SEQUENCE (secuencia) para que se encarge de la
autogeneración del valor para el campo

Script de la secuencia.
CREATE SEQUENCE "ARTICULOS_SEQ" MINVALUE 1 MAXVALUE
999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER
NOCYCLE ;


En mapeo en Hibernate deben tener cuidado con el tipo (type) de dato
de la secuencia ya que hay mucha diferencia de capacidad de bits a
almacenar entre un interger y un long, en este ejemplo lo ideal un
long.

<id name="articuloId" column="ARTICULO_ID" type="long">
<generator class="sequence">
<param name="sequence">ARTICULOS_SEQ</
param>
</generator>
</id>

Otro Aspecto a tener en cuenta tambien es el ciclo(CYCLE) de la
secuencia, hay que tomar precauciones de que no se esten
sobreescribiendo los registros. En este caso la secuencia no tiene
ciclo (NOCYCLE ) por lo que no tendremos ese problema.
Espero que te ayude.
Saludos, Marko.
Reply all
Reply to author
Forward
0 new messages