Java论坛网»Java技术»大家帮我看看hibernate的异常,初学不知道什么原因,谢谢

大家帮我看看hibernate的异常,初学不知道什么原因,谢谢

问?:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: could not deserialize
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.hibernate.type.SerializationException: could not deserialize
org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:211)
org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:234)
org.hibernate.type.SerializableType.fromBytes(SerializableType.java:78)
org.hibernate.type.SerializableType.get(SerializableType.java:39)
org.hibernate.type.NullableType.nullSafeGet(NullableType.java:77)
org.hibernate.type.NullableType.nullSafeGet(NullableType.java:68)
org.hibernate.type.AbstractType.hydrate(AbstractType.java:80)
org.hibernate.persister.entity.BasicEntityPersister.hydrate(BasicEntityPersister.java:1690)
org.hibernate.loader.Loader.loadFromResultSet(Loader.java:991)
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:942)
org.hibernate.loader.Loader.getRow(Loader.java:855)
org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:305)
org.hibernate.loader.Loader.doQuery(Loader.java:412)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
org.hibernate.loader.Loader.doList(Loader.java:1593)
org.hibernate.loader.Loader.list(Loader.java:1577)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
com.bbs.web.info.ArticleInfoBean.findByDomainId(ArticleInfoBean.java:31)
com.bbs.struts.action.ListArticleAction.doQuery(ListArticleAction.java:51)
com.bbs.struts.action.ListArticleAction.execute(ListArticleAction.java:44)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.5 logs.


--------------------------------------------------------------------------------
答!: 1:
数据库是mysql,查询的时候出的这个错误
答!: 2:
没人回,自己顶一下吧
答!: 3:
你的实体类有没有实现serializable接口?
对象序列化出错
比如
public class BaseBusinessClass implements Serializable{
private String id;
private String name;

public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public String getName(){
return name;
}
.....
答!: 4:
could not deserialize,不能反序列化,你看看你的hibernate配置中是否有序列化类型数据,即SerializableType,与对应的数据库数据是否相同,(数据库对应blob型),还有你是否有换过jdk,不同的jdk序列化的时候得到的结果是不同的,如果保存数据的时候用的是一个版本的jdk,而读数据(即反序列化的时候)是另一个版本的jdk那么有可能反序列化不成功。
答!: 5:
谢谢,我先试试
答!: 6:
<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<!-- DO NOT EDIT: This is a generated file that is synchronized -->
<!-- by MyEclipse Hibernate tool integration. -->
<!-- Created Mon Aug 07 10:57:36 CST 2006 -->
<hibernate-mapping package="bo">

<class name="Article" table="article">
<id name="articleId" column="article_id" type="string">
<generator class="assigned"/>
</id>

<property name="articleTitle" column="article_title" type="string" />
<property name="domainId" column="domain_id" type="string" />
********* <property name="articleText" column="article_text" type="serializable" />
<property name="goodFlg" column="good_flg" type="byte" />
<property name="lockFlg" column="lock_flg" type="byte" />
<property name="topFlg" column="top_flg" type="byte" />
<property name="readTimes" column="read_times" type="integer" />
<property name="replyTimes" column="reply_times" type="integer" />
<property name="lastReply" column="last_reply" type="string" />
<property name="lastReplyTime" column="last_reply_time" type="timestamp" />
<property name="addUser" column="add_user" type="string" />
<property name="addDate" column="add_date" type="timestamp" />
<property name="updUser" column="upd_user" type="string" />
<property name="updDate" column="upd_date" type="timestamp" />
</class>

</hibernate-mapping>
这个是影射的XML文件,打*的行是用的text类型
对应的类也实现了serializable接口
答!: 7:
text对应的应该是java.sql.Clob字段,根据你数据库不同,情况不同
答!: 8:
明白了,我先改改看
答!: 9:
修改好了,谢谢大侠!

相关JAVA教程:
Struts + Spring + Hibernate框架开发问题求救……5555
想把一个运行于Weblogic的应用的配置移植到另一台机子,该怎么做?
散分200,顺带问个问题。
怎样从xml传参数到jsp中去??
在这里能找到.NET程序员和创业技术研发领队吗?
讨论:在J2EE中应该由哪种对象比如dao或者哪一层来取得数据库连接呢?
HELP:hibernate无法持久化数据到数据库
万分!伙计!画个点^_^
有难度,请教高手
XML解析问题
问Hibernate Synchronizer
关于ContextLoaderPlugin 为 Struts 的 ActionServlet 装载 Spring 应用程序环境