Hibernate não funciona auto-incremento

Bom dia pessoal ,tenho um arquivo de configuração do hibernate funcionando.

o problema :
ele não está fazendo o auto-incremento.

Que seria no campo cod.

Codigo do hibernate :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="site.negocio.avaliacaodesempenho">
   <class name="PeriodoAvaliativo" table="PERIODO_AVALIATIVO">
      <id name="cod" column="COD" type="long">
         <generator class="increment" />
      </id>

	  <property name="dtInicioPeriodoAvaliativo" column="DATA_INICIO" type="date"/>
      <property name="dtTerminoPeriodoAvaliativo" column="DATA_TERMINO" type="date" />    
      <property name="valorResultadoInstitucional" column="VALOR_RESULTADO_INSTITUCIONAL" type="double" not-null="false" />
      <property name="dtInicioLancamentoAvaliacoes" column="DATA_INICIO_PERMITE_AVALIACAO" type="date" />
      <property name="dtLimiteLancamentoAvaliacoes" column="DATA_LIMITE_AVALIACAO" type="date" />
      <property name="dtTerminoLancamentoAvaliacoes" column="DATA_FECHAMENTO_AVALIACAO" type="date" not-null="false" />
      
      <set name="colFatorAvaliativo" table="FATOR_PERIODO_AVALIATIVO"  inverse="true">
      		<key column="COD_PERIODO_AVALIATIVO"/>
      		<many-to-many class="FatorAvaliativo" column="COD_FATOR_AVALIATIVO"/>
      </set>
      <set name="colAvaliacaoPorFatorAvaliativo" table="FATOR_AVAL_INDIVIDUAL_SERVIDOR"  >
      		<key column="COD_PERIODO_AVALIATIVO"/>
      		<one-to-many class="AvaliacaoPorFatorAvaliativo" />
      </set>
      <set name="colUnidadeAvaliativaPeriodo" table="UNIDADE_AVALIATIVA_PERIODO"  inverse="true">
			<key column="COD_PERIODO_AVALIATIVO" not-null="false"/>
      		<one-to-many class="UnidadeAvaliativaPeriodo" />
      </set>
      <set name="colServidorNaoAvaliavel" table="SERV_NAO_AVALIADO_PERIODO_AVAL"  inverse="true">
	  	<key column="COD_PERIODO"/>
	  	<one-to-many class="ServidorNaoAvaliavel"/>
	  </set>
   </class>
</hibernate-mapping>

procurei no google e no site da hibernate, mais sem sucesso.

ja adcionei a instrução " " como podem ver no codigo.

att. Agradeço deste já sua atenção.

Ta funcionando sim. Quando vc apaga os registros 17, 18 e 19 e sequencia no banco de dados nao volta para o 17, continua no 20.

Bom dia diego.r.araujo,

então o hibernate não volta para onde ele apagou o ultimo objeto, ele continua de onde ele estava apontado na ultima vez que seria o “19”,então o hibernate adciona +1 que será o “20” , correto ?

desculpe mais pela logica teria que pegar o ultimo codigo e adcionar +1. correto.
ou
que agora seria o 16(como ta na figura) e adcionava +1 e será o 17.

att. agradeço deste já pela sua atenção.

cara, da uma lida nas docs p/ entender como funciona o increment de acordo com o banco qu vc ta usando.

[]'s

Olá youta como vai,

Pelo que entendi, o Hibernate está funcionando corretamente, pois o increment dele está perfeito, acrescentando +1 ao valor que o banco de dados gerencia, pois a maioria dos bancos mesmo vc excluindo um registro ele irá passar e colocar +1, não tendo a opção de após excluir um regstro colocar valores a aquele número de registro novamente.

Espero que tenha sido claro e ajudado, e não atrapalhado mais.

joaosouza e colegas do forum,

Obrigado pela ajuda , mais é estranho ou não é :? ele não voltar pro numero anterior.

o banco de dados é o oracle 10g. alguem tiver uma sugestão de como faço para que siga a ordem. obrigado.

Só para esclarecer… voltar o id não existe! em nenhum Banco de dados voce irá encontrar isso!
É especificação.

Um id identifica um registro em toda sua vida, logo se ele existia e foi apagado
nunca mais ele voltará, pois ele já pertenceu a algum outro registro, e pode haver
algo relaciona com aquele id que foi apagado e o cara não criou a fk devidamente.
ai daria zica!

[quote=robertwgil]Só para esclarecer… voltar o id não existe! em nenhum Banco de dados voce irá encontrar isso!
É especificação.

Um id identifica um registro em toda sua vida, logo se ele existia e foi apagado
nunca mais ele voltará, pois ele já pertenceu a algum outro registro, e pode haver
algo relaciona com aquele id que foi apagado e o cara não criou a fk devidamente.
ai daria zica![/quote]

Isso ai… 8)

Se está assim é pq está funcionando…