Me ajudem - hibernate

7 respostas
M

Sou iniciante no hibernate, estou fazendo um teste aqui no trabalho mas está gerando o seguinte erro

org.hibernate.type.SerializationException: could not deserialize

eu ja fiz antes um teste como esse e funcionou bem, mas com esse não funciona

essa é o mapping

<?xml version="1.0"?>
<property column="nom" length="50" name="nom" type="string"/>
<property column="email" length="60" name="email" type="string"/>
<property column="login" length="12" name="login" type="string"/>
<property column="senha" length="16" name="senha" type="string"/>
<property column="logo" length="16277215" name="logo" type="serializable"/>
<property column="tipo_logo" length="1" name="tipoLogo" type="string"/>
<property column="cor_princ" length="20" name="corPrinc" type="string"/>
<property column="cor_form" length="20" name="corForm" type="string"/>
<property column="gerente" length="1" name="gerente" type="string"/>
<property column="config_sisc" length="250" name="configSisc" type="string"/>
<property column="depto" length="250" name="depto" type="string"/>
<property column="assinatura" length="65535" name="assinatura" type="serializable"/>
<property column="stretch" length="1" name="stretch" type="string"/>
<property column="cod_usuario" length="11" name="codUsuario" type="integer"/>
</class>

é esse é o erro

org.hibernate.type.SerializationException: could not deserialize

at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:217)

at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:240)

at org.hibernate.type.SerializableType.fromBytes(SerializableType.java:82)

at org.hibernate.type.SerializableType.get(SerializableType.java:39)

at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)

at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)

at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)

at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2092)

at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1371)

at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1299)

at org.hibernate.loader.Loader.getRow(Loader.java:1197)

at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)

at org.hibernate.loader.Loader.doQuery(Loader.java:689)

at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)

at org.hibernate.loader.Loader.doList(Loader.java:2211)

at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)

at org.hibernate.loader.Loader.list(Loader.java:2090)

at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)

at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)

at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)

at com.br.sistema.dao.AmigoDAO.getList(AmigoDAO.java:64)

at com.br.sistema.action.TesteAmigoAction.execute(TesteAmigoAction.java:57)

at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)

at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)

at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)

at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)

at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)

at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)

at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)

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

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

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

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

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

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

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

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

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

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

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

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.StreamCorruptedException: invalid stream header

at java.io.ObjectInputStream.readStreamHeader(Unknown Source)

at java.io.ObjectInputStream.(Unknown Source)

at org.hibernate.util.SerializationHelper$CustomObjectInputStream.(SerializationHelper.java:252)

at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:209)

 46 more

o que siguinifica isso?

7 Respostas

M

ta dando erro nessa linha

List lista = session.createCriteria(condicao.getClass()).list();

public java.util.List getList(Object condicao) throws Exception{  
   Session session = factory.openSession();  
   List lista = session.createCriteria(condicao.getClass()).list();
   session.flush();  
   session.close();  
   return lista;  
}

:frowning: :frowning: :frowning: :frowning: :frowning:

F

vc implementou a interface serializable em seus beans?

M

acho que não
no tutorial que eu li não informava isso não :slight_smile:

como eu faço?
como tem que ser feito

F

Segue a sintaxe:

public class SeuBean implements Serializable{ }

M

vlw, eu descobri o que era

agora ta dando o erro

tinha uns campo com tipo Serializable, mas por enquanto nao preciso disso, dai eu tirei

vlw

identifier of an instance of com.br.sistema.bean.Usuarios was altered from 5 to 5

A

Como assim tinha uns campos como seriazable?Estou com o mesmo problema mas meu mapeamento(uso anotattions) não especifico nada disso.
COmo resolveu?

A

No meu caso eu tive que mudar os campos de date para timestamp pq estava ouvendo um erro na hora de deserializar.

Criado 12 de abril de 2007
Ultima resposta 31 de jul. de 2007
Respostas 7
Participantes 3