mappeo en hibernate (id)

matias
15 de Junio del 2006
Hola yo cree el id de una tabla de la siguiente forma en sql
id int(3) not null auto-increment, pero ahora no solo estoy trabajando en oracle q sino el id lo tengo que sacar de un atributo de otro objeto, por lo que quisiera saber de que manera se crea el id en oracle para que no se incremente de manera automatica, y como lo mapeo en el hbm.xml

(si alguien tiene un manual de hibernate preferentemente en español donde se explique bien cada tag del xml de mappeo para que sirve agradeceria si me lo manda por mail. GRACIAS)

<class
name="net.Solicitud"
table="solicitudes"
dynamic-update="false"
dynamic-insert="false"
>

<id
name="id"
column="id"
type="long"
>
<generator class="foreign">
<param name="property"></param>
</generator>
</id>

Yashiro
15 de Junio del 2006
Con oracle puedes usar un sequence el cual te dara un id cada vez que tu lo requieras, esto se logra de la forma siguiente:

Primero creas el sequence con los parametros que quieras:

CREATE SEQUENCE obtenervalor_seq
START WITH 1000
INCREMENT BY 1
NOCACHE
NOCYCLE;

De esta forma cuando mandes a traer el sequence te mandara la primera vez el 1000 y despues te lo irá incrementando cada que lo mandes a traer, para mandarlo a traer basta con el sig. query

SELECT obtenervalor_seq.nextval
FROM DUAL;

esto te traera el valor siguiente, espero y te sirva .....

Saludos..........