论坛首页 Java版 Hibernate

『提问』hibernate 如何实现long类型的存储啊?

浏览 3083 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2005-10-08
软件环境:
tomcat5.0.27  hibernate2.1.4  oracle8.1.7
配置文件:
hbm.xml
<property name="rcontent" column="RCONTENT" type="java.lang.String" />
错误提示信息:
exception

javax.servlet.ServletException: Hibernate operation: could not insert: [com.darkjune.entiity.TabRepository#000000031]; uncategorized SQLException for SQL []; SQL state [null]; error code [17070]; ?????????????: 6628; nested exception is java.sql.SQLException: ?????????????: 6628
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.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.empire.incc.sys.EmpireFilter.doFilter(EmpireFilter.java:36)


root cause

org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert: [com.empire.incc.entity.TabRepository#000000031]; uncategorized SQLException for SQL []; SQL state [null]; error code [17070]; ?????????????: 6628; nested exception is java.sql.SQLException: ?????????????: 6628
org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:96)
org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:257)
org.springframework.orm.hibernate.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:291)
org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:278)
org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:319)
org.springframework.orm.hibernate.HibernateTemplate.save(HibernateTemplate.java:493)
com.darkjune.repository.dao.daoImp.RepositoryDAOImp.savePolicy(RepositoryDAOImp.java:49)
com.darkjune.repository.service.serviceImp.RepositoryServiceImp.savePolicy(RepositoryServiceImp.java:62)
com.darkjune.repository.action.InputPolicyAction.execute(InputPolicyAction.java:69)
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.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.darkjune.Filter.doFilter(EmpireFilter.java:36)


你的分析:
hibernate 不能实现oracle中long类型的存储 把它当作string处理只能保存2000个字符,页面取到的2000个以上字符的大string在使用hibernate插入功能时报错,字数少的时候可以插入,有高手有解决的办法吗?
   
最后更新时间:2005-10-08
没遇到过,存20000都可以阿。。

你的Oracle字段是什么类型阿?text么?

没用过oracle,反正。
SQLSERVER没问题的
   
0 请登录后投票
最后更新时间:2005-10-08
LONG类型我也没搞定,后来改用BLOB和CLOB了
   
0 请登录后投票
最后更新时间:2005-10-08
oracle字段用的是LONG型的
   
0 请登录后投票
最后更新时间:2005-10-08
我要是改用blob或者clob也会 有问题,因为收集页面数据的DTO从Struts的FormBean使用beauUtils.copyProperty()方法时,会因为DTO的类型是blob,而formBean的类型是String而出错
   
0 请登录后投票
最后更新时间:2005-10-09
DTO为什么 不用string
   
0 请登录后投票
最后更新时间:2005-10-15
DTO就是为了把类型从FORM的转换成数据库类型,怎么可能用string,当然是用数据库的类型
   
0 请登录后投票
最后更新时间:2005-10-22
解决了,还是单独用CLOB字段处理了
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐