Pergunta

Eu preciso usar uma seqüência para obter um valor único. Os usa o código de produção postgres, mas eu gostaria de acessá-lo via Hibernate para que eu possa testar isso com HSQLDB.

Como posso criar e ler uma seqüência em hibernação?

Foi útil?

Solução

Tenha um olhar em Dialect ( https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java ).

Ele contém código para determinar se suas seqüências aceita banco de dados (supportsSequences()) e métodos para criar e soltá-los ( 'getCreateSequenceString (String da sequcia)').

Infelizmente, não há nenhuma maneira limpa para obter o dialeto da sessão; consulte Como chegar Hibernate dialeto durante a execução

[Resposta OLD]

Você poderia tentar reutilizar o código de HibernateDialect mas a principal API não oferece isso. Sua melhor aposta é provavelmente para quebrar isso em uma interface e, em seguida, usar diferentes implementações, dependendo do dialeto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top