Estou recebendo este erro na hora que tento inserir dados em uma tabale com hibernate annotations.
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at br.com.acotel.cdr.model.test.TestMessageJMR.main(Unknown Source)
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into user(name, id_user) VALUES(test, 705) was aborted. Call getNextException to see the cause.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2530)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1317)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2592)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
A minha classe com annotation está assim:
@Entity
@Table(name="user")
public User{
@Id
@Column(name="id_user")
@SequenceGenerator(name="sequence_user", sequenceName="id_user_seq")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sequence_user")
private int id;
@Column(name="name")
private String name;
//setters and getters
}
Acho que erro pode estar na hora de gerar o id, pq quando vou olhar no banco o próximo número da sequencia está bem difeirente da que foi gerada pela hiobernate.