程序错误文档指南

JSP==========================
java.lang.IllegalArgumentException: id to load is required for loading
原因:
session.load(Company.class,payForm.getCompanyId());
load()方法第二个参数必须是searlizable,并且必须是和数据库映射类的属性值类型一致,即使强制转换都不行。
自己发现主要在formbean 处错误,,,数据库有数据为空

不允许的操作: streams type cannot be used in batching

该问题的解决办法比较简单,需要修改使用到大文本对象的batch_size值为0,也就是不使用批操作。

修改配置后再次启动DLOG发现的问题是,当写一篇日记时,日记较小时数据插入成功,当日记内容很长的时候数据插入失败。

解决的办法是在CLOB字段的映射条目中增加参数length,例如

<property name=”content” type=”text” length=”100000″/>

如此两个问题得以解决,其他的功能在Oracle数据库中工作一切正常。

另外还有一个应该注意的是size是Oracle的关键字,不要拿它当作字段名,否则报的错误很怪,很难一眼看出来具体问题所在。

Hi.

I wrote this in my hibernate.properties and works;

hibernate.jdbc.use_streams_for_binary=true
hibernate.jdbc.batch_size=0
——————————–
java.lang.IllegalArgumentException: id to load is required for loading
原因:
session.load(Company.class,payForm.getCompanyId());
load()方法第二个参数必须是searlizable,并且必须是和数据库映射类的属性值类型一致,即使强制转换都不行。

js表单检查,注意非表单内容就查不到对象了,也不提醒错误,就是无法检查

hibernate更新 删除别忘记 tx.commit();
不提示错误,但是都不提交数据

No row with the given identifier exists: [com.zysoft.form.EmployeeRecord#1000]
表示你现在查询的对象所关联的对象有问题,一般是因为数据的问题(该对象所关联的对象找不到)。
你的数据库里不存在EMPLOYEE_ID=”1000″的数据
因为hibernate将每个字段都映射成po中的一个属性,而在获取属性时如数据库中是null,则对象是不存在,则会报你所提到的错误.
——————————–
15:32:53,804 WARN JDBCExceptionReporter:71 – SQL Error: 933, SQLState: 42000
15:32:53,804 ERROR JDBCExceptionReporter:72 – ORA-00933: SQL 命令未正确结束
Oracle8.1不支持这种形式吧,而是支持(+)这种形式。
把Dialect改成net.sf.hibernate.dialect.OracleDialect
——————————–
定义Action后, 如果指定了name, 那么必须要定义一个与它同名的FormBean才能进行form映射.

如果定义Action后, 提交页面时出现 “No input attribute for mapping path…” 错误, 则需要在其input属性中定义转向的页面.

如果出现 “equal symbol expected” 错误, 说明你的strtus标签中包含另一个标签或者变量, 例如:
<html:select property=”test” onchange=”<%=test%>”/>
或者
<html:hidden property=”test” value=”<bean:write name=”t” property=”p”/>”/>
这样的情况…

exception javax.servlet.ServletException: BeanUtils.populat
root cause
java.lang.IllegalArgumentException:Cannot invoke ***Form.set*** – argument type mismatch
原因
这个问题很奇怪的说,为啥说奇怪呢?
先说问题的原因:问题发生如下两种情况:
Form中是Date类型
上传文件时
为什么说奇怪呢?主要针对Form是日期型的来说的;因为我做过N多系统Form中都是用java.util.Date,界面使用<html:text property=”date”/>;都是没有问题的。所以第一次遇到这个错误时,捣鼓了一个下午。
解决:
第一个问题:你把Date换成String;在Action中进行转换;当然转换要借助于SimpleDateFormate方法喽
第二个问题:记得在form中增加enctype=”multipart/form-data” 呵呵

hibernate=====================================

错误示例××××××××××××××××

如果插入新的数据时出现 “Batch update row count wrong:…” 错误, 则说明XXX.hbm.xml中指定的key的类型为原始类型(int, long), 因为这种类型会自动分配值, 而这个值往往会让系统认为已经存在该记录, 正确的方法是使用java.lang.Integer或java.lang.Long对象.

如果插入数据时出现 “argument type mismatch” 错误, 可能是你使用了Date等特殊对象, 因为struts不能自动从String型转换成Date型, 所以, 你需要在Action中手动把String型转换成Date型.

Hibernate中, Query的iterator()比list()方法快很多.

你的Abc.hbm.xml文件的<class>元素的lazy属性可能设成true了,才会导致检索时采用延迟检索策略。
<class lazy=”false”>
<many-to-one name=”abc” class=”com.my.Abc” column=”ABC” not-null=”true” outer-join=“false”/>

No connection properties specified – the user must supply JDBC connections,The user must suppl

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部