JPA - Mapear id criado por meio de um TRIGGER

Olá pessoal,

estou com o mesmo problema que esse camarada aqui!
http://www.guj.com.br/java/144328-jpa—obter-chave-gerada-por-sequence-em-trigger

Eu recebo a seguinte exceção ao salvar uma entidade PAI que possui uma lista de entidades Filha:
[color=red]Caused by: java.sql.SQLException: ORA-02291[/color]

Isto porque o ORACLE possui um Trigger que itera a sequência que é utilizada para gerar PKs.

Quando eu desativo o Trigger, tudo funciona perfeitamente, mas infelizmente não posso contar com essa solução.

Se alguém souber alguma solução para este problema me avise. Porém, a uma outra saída que é gerar meu próprio GenericGenerator, seguindo a ideia do colega do link acima!

É pessoal, fui ver com uns colegas aqui e eles tiveram que usar um GenericGenerator (que herda de AbstractPostInsertGenerator e implementa Configurable) para resolver o problema. Ou seja, dentro do Generator faz-se um ‘select curval’ da vida… Vale lembrar que o GenericGenerator é Hibernate e não JPA.”

Assim posso mapear o id por meio de um trigger!!!

Como devo implementar meu próprio GenericGenerator???

Alguém?

Por que você precisa de uma trigger para chamar a sequence do Oracle?

Deixa o JPA chamar para você (usando a strategy Sequence) e pronto.

Pois é… Acontece que eu possuo um relacionamento 1-N (PAI-FILHO). Quando vou salvar em cascata, gera o erro ora-02291. Ao menos que eu desabilite a trigger. Porém, não posso contar com isso.