Pergunta

É possível @GeneratedValue desvio para uma identificação no Hibernate, temos um caso em que, na maioria das vezes nós queremos o ID a ser definido usando GeneratedValue, mas em certos casos, gostaria de definir o ID manualmente.

Isso é possível fazer?

Foi útil?

Solução

Eu sei que você pode fazer isso na especificação JPA, assim que você deve ser capaz de, em Hibernate (usando JPA anotações +).

Se você acabou de preencher o campo de ID do novo modelo persistente você está criando, então, quando você "Merge" esse modelo para o EntityManager, ele usará o ID definido já.

Este tem ramificações, no entanto. Você acabou usado até que a ID, mas a sequência especificada pela anotação GeneratedValue não sabe que. A menos que você está especificando um ID ununsed que é menos do que o valor de seqüência atual, você está indo para obter um problema uma vez que a seqüência alcança o valor que você acabou de usar.

Então, talvez eu possa ver onde você pode querer que o usuário seja capaz de especificar um ID, mas então você precisa pegar a possível exceção (duplicado ID) que pode vir no futuro.

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