Consultando sequence

Alguém sabe como retornar o valor de um nextvall(sequence) em hibernate na inserção de um novo registro em uma tabela (mas não na coluna idde tabela, em uma coluna qualquer ) ?

Não entendi direito, George, poderia explicar melhor?

O problema é o seguinte:
tenho uma tabela que tem 2 sequenciais, o sequencial que é o id da tabela e outro sequencial que é outra coluna da tabela (esse segundo não faz parte da chave da tabela). No caso do id sei que se põe

<generator class="sequence">
      <param name="sequence">SEQ_DEFAULT</param>
</generator>

mas no caso de a mesma tabela no mesmo hbm precisar de outra sequence não sei como proceder, tentei:

<property name="nome" column="nome" type="text" not-null="true">
      <param name="sequence">SEQ_DEFAULT</param>
</property> 

porém sem sucesso, dei uma olhada no “hibernate in action” porém
não encontrei nenhum exemplo, então se alguém que já tiver passado por essa situação ou souber como resolver isso e puder me ajudar ficarei muito grato.

George.

A menos que tenham mudado isso no Hibernate 3, você tem duas saídas: pegar o próximo valor da sequence usando um SELECT seq.nextval from DUAL e atribuir manualmente à propriedade ou criar uma trigger de insert que faça isso por você.

é, já pensei nas duas soluções mas queria fazer isso pelo hibernate, não queria fazer esse select na mão e tb o uso de trigger seria uma segunda opção que pelo que estou vendo é a mais válida.

existe alguma maneira de fazer esse “select nextvall(sequence)” por hibernate ? acredito que não né ?

valeu pela força !

No 2, não que eu saiba. Outra solução “menos feia” poderia ser escrever um custom EntityPersister que faz isso que você falou. O EntityPersister é ortogonal ao resto do código de persistência, o que deixaria a solução mais limpa.