Sybase + Hibernate JPA , erro ao inserir, autoincrement

6 respostas
L

Tenho a seguinte tabela:

CREATE TABLE DBA.adm_usuarios (

id integer NOT NULL DEFAULT autoincrement UNIQUE,

nome varchar(100) NOT NULL,

sobrenome varchar(100) NULL,

login_acesso varchar(100) NULL,

senha varchar(100) NULL,

email varchar(100) NULL,

PRIMARY KEY ( id )

);

minha entidade do banco:

@Entity

@Table(name = adm_usuarios)

@NamedQueries(

{

@NamedQuery(name = EUsuario.findAll, query = SELECT e FROM EUsuario e),

@NamedQuery(name = EUsuario.findById, query = SELECT e FROM EUsuario e WHERE <a href="http://e.id">e.id</a> = :id),

@NamedQuery(name = EUsuario.findByNome, query = SELECT e FROM EUsuario e WHERE e.nome = :nome),

@NamedQuery(name = EUsuario.findBySobrenome, query = SELECT e FROM EUsuario e WHERE e.sobrenome = :sobrenome),

@NamedQuery(name = EUsuario.findByLoginAcesso, query = SELECT e FROM EUsuario e WHERE e.loginAcesso = :loginAcesso),

@NamedQuery(name = EUsuario.findBySenha, query = SELECT e FROM EUsuario e WHERE e.senha = :senha),

@NamedQuery(name = EUsuario.findByEmail, query = SELECT e FROM EUsuario e WHERE e.email = :email)

})

public class EUsuario implements Serializable {

private static final long serialVersionUID = 1L;

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “id”)

private Integer id;

<a class="mention" href="/u/basic">@Basic</a>(optional = false)

@Column(name = “nome”)

private String nome;

@Column(name = “sobrenome”)

private String sobrenome;

@Column(name = “login_acesso”)

private String loginAcesso;

@Column(name = “senha”)

private String senha;

@Column(name = “email”)

private String email;

Porém quando vou adicionar um objeto, acontece o seguinte erro:

WARNING: SQL Error: 0, SQLState: JZ006

11/04/2011 13:53:15 org.hibernate.util.JDBCExceptionReporter logExceptions

SEVERE: JZ006: Caught IOException: java.io.IOException: JZ0EM: End of data.

org.hibernate.exception.GenericJDBCException: could not insert: [br.com.cisterlabs.salamander.client.modulo_administracao.gerenciar_usuarios.EUsuario]

at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)

at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)

at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)

at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158)

at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638)

at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)

at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)

at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298)

at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)

at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)

at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)

at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)

at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)

at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)

at br.com.cisterlabs.salamander.server.CSessao.inserir(CSessao.java:38)

at br.com.cisterlabs.salamander.server.HibernateDAO.inserir(HibernateDAO.java:60)

at br.com.cisterlabs.salamander.server.CControleGerenciarUsuarios.gravarUsuario(CControleGerenciarUsuarios.java:34)

at br.com.cisterlabs.salamander.server.SalamanderServiceImpl.gravarUsuario(SalamanderServiceImpl.java:41)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)

at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:619)

Caused by: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0EM: End of data.

at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source)

at com.sybase.jdbc3.jdbc.ErrorMessage.raiseErrorCheckDead(Unknown Source)

at com.sybase.jdbc3.tds.Tds.a(Unknown Source)

at com.sybase.jdbc3.tds.Tds.a(Unknown Source)

at com.sybase.jdbc3.tds.Tds.nextResult(Unknown Source)

at com.sybase.jdbc3.tds.TdsResultSet.nextResult(Unknown Source)

at com.sybase.jdbc3.tds.TdsResultSet.next(Unknown Source)

at com.sybase.jdbc3.tds.TdsResultSet.close(Unknown Source)

at com.sybase.jdbc3.jdbc.SybResultSet.markDead(Unknown Source)

at com.sybase.jdbc3.jdbc.SybResultSet.close(Unknown Source)

at com.sybase.jdbc3.jdbc.SybResultSet.close(Unknown Source)

at com.mchange.v2.c3p0.impl.NewProxyResultSet.close(NewProxyResultSet.java:2999)

at org.hibernate.id.IdentityGenerator$InsertSelectDelegate.executeAndExtract(IdentityGenerator.java:118)

at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)

 44 more

Utilizando outros bancos como mysql ou postgre consigo inserir normalmente porem preciso utilizar o banco sybase…
Alguém poderia me dizer o que pode estar acontecendo? obs: quero que a chave primaria seja autoincrement

6 Respostas

nextuser

se ele é eutoincrement vc naum precisa disso:

@GeneratedValue(strategy = GenerationType.IDENTITY)

é só mandar 0 e pronto…

L

nextuser:
se ele é eutoincrement vc naum precisa disso:

@GeneratedValue(strategy = GenerationType.IDENTITY)

é só mandar 0 e pronto…

Não da certo, se eu seto como 0, ele grava como id 0

nextuser

então o auto increment não está funcionando…

usa o seguinte na tabela

só isso

L

nextuser:
então o auto increment não está funcionando…

usa o seguinte na tabela

só isso

Continua gravando id 0, e colocando @GeneratedValue(strategy = GenerationType.IDENTITY) continua dando o erro ;// ta chato isso.

L

ninguem ? ;/

L

Alguem me tem idéia alguma forma de auto incremet com o sybase…??? help mee

Criado 11 de abril de 2011
Ultima resposta 12 de abr. de 2011
Respostas 6
Participantes 2