Boa tarde galera. Estou testando um codigo com hibernate e oracle e esta dando um erro na sequencia da coluna. Exemplo:
Eu tenho uma tabela com o id autoincrementado. Quando o hibernate vai dar um comit nessa entity e por acaso possui algum codigo que gera um erro o campo autoincremento muda.
Tipo:
Ultimo registro era idCliente = 22. Dae eu salvo um outro dado com um erro de sql (por exemplo violacao de integridade). Depois eu conserto o erro e dou um save denovo, quando eu vou ver no banco o registro que cadastrei vai ficar com o idCliente = 24. Ou seja ele pula. Tentei dar um rollback no catch() e nao da certo. Gostaria de saber como voces usam campos autoincremente?
protected static void comitTransacao() {
try {
if (transacao != null && !transacao.wasCommitted() && !transacao.wasRolledBack())
transacao.commit();
} catch (HibernateException he) {
rollbackTransaction();
he.printStackTrace();
}
}
protected static void rollbackTransaction() {
try {
if (transacao != null && !transacao.wasCommitted() && !transacao.wasRolledBack())
transacao.rollback();
} catch (HibernateException he) {
he.printStackTrace();
} finally {
closeSessao();
}
}
