2010-12-13 44 views
1

J'ai une séquence définie dans ma base de données Oracle. Puis-je tirer de cette séquence en utilisant Hibernate? Je ne veux pas utiliser la séquence pour générer des identifiants pour mes objets, donc @GeneratedValue et @Id ne sont pas les choses que je cherche.Extraction d'une séquence Oracle avec Hibernate

Répondre

2

Quelque chose comme ceci:

<sql-query name="sequenceValue"> 
    <return alias="mySeq" class="MySequences"/> 
     select my_schema.seq_myid.nextval as mySeq from dual 
    </sql-query> 
+0

Comment le faisons-nous à partir du fichier hbm? – Rachel

2

Avez-vous essayé:

select my_schema.seq_myid.nextval from dual; 

Ceci renvoie un résultat record avec la valeur suivante dans la séquence. Vous pouvez ensuite utiliser

select my_schema.seq_myid.currval from dual; 

Pour obtenir la valeur actuelle de la séquence.

+0

La question clé de ma question est "... en utilisant Hibernate". – tobiasbayer

+0

Je comprends, mais je ne crois pas que Hibernate fasse explicitement ce que vous demandez. Par conséquent, vous exécutez la requête (en utilisant Hibernate) et vous recevez les données que vous recherchez. –