Erro ao usar o auto-increment do hibernate

Eu estou usando o auto incremento e não está funcionando. Meu banco de dados é Oracle

         @Id
         @GeneratedValue(strategy=GenerationType.IDENTITY)
  	private BigDecimal numidentificador;

O erro que dá é este:

 org.hibernate.HibernateException: could not get or update next value
 	at br.unesp.sisor.dao.BaseDao.saveOrUpdate(BaseDao.java:47)
 	at br.unesp.sisor.action.gerais.SisorProcessoSalvarAction.execute(SisorProcessoSalvarAction.java:70)
 	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
 	at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
 	at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
 	at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
 	at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
 	at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
 	at java.lang.Thread.run(Thread.java:595)

Olá,

a sua tabela foi gerada pelo hibernate? Quando ele gera, e vc coloca um Identity para o campo, para o Oracle ele cria um sequence no banco de dados. Existe esse sequence no seu banco?

Minhas tabelas não foram geradas pelo Hibernate.

Como posso usar o auto-increment do Hibernate sem precisar fazer uma consulta do banco de dados para saber o máximo e adicionar mais 1.

OBS: Estou usando Annotations