关于Hibernate操作数据库为空(数值类型)以及引起的问题的一点点总结
来源:互联网 发布:股票收益数据挖掘 编辑:程序博客网 时间:2024/06/05 23:54
今天算是第一次写博客吧,呵呵,老早就想写点什么东西,可是不知道该从哪里写?本来自己的技术水平相当有限,倒不是怪自己工作时间有多短,呵呵,其实这个也是一个是相当的原因.而且最主要的是,自己虽然总结了不少,不过总体看起来,就是一些小问题,跟一些大牛来说.这个根本不是什么问题.也不值得一提.我想大伙都有这个过程的吧,所以还是来说说.呵呵,相当与自己成长过程的一点点总结吧.(也许哪一天,自己就不知道干什么去了)
今天用Hibernate+Spring+Ext+Oracle做了点东西,呵呵.本来就是做好的一个公司项目,但是最近发现了不少问题,所以交过来改一下,如果按照正常情况下增加,删除,修改,没有问题,可是不能不照顾特殊啊.其中遇到的问题很多,这里也不一一列出来了,就来说说.关于Hibernate对于空的(主要是数值类型.)的操作
其一,用Oracle建立的数据表当中,有number类型可以为空(null),这个时候,Hibernate执行增加(add),修改(update)操作就会受到影响了.其实就是一个类型创建问题,如果都用Integer,一切问题解决.其中包含:第一,hbm配置映射文件.创建的number类型为java.lang.Integer,如果你在save或者是update,或者是PO(其实这个叫法对我虽然不是陌生,但是总觉得别扭,其实就是hbm映射的数据对象)里面的对应字段,都用Integer,一切搞定,对于,插入,修改,null(空)字段,没有问题,
如若不然,有可能会报
- Could not perform validation checks for component as the class com.radiantek.sysconfig.vo.OuterIntf
- Tbl was not found
- 或者是
- exception setting property value with CGLIB
的错误,有人说,是数据库为空造成的,呵呵,的确如此,不过该数据库,不是大家所想要的,还是按照上面的,修改程序,满足用户,算是根本.
其二,这个是由第一个造成的,网上找了很久,没有得到所谓自己想要的结果,算了,还是自己用其他的方法先替代吧.
问题:
- 由于Hibernate增加,修改,都是可以操作null,但是取得值的时候,为什么总是0呢?
- 这个时候,虽然自己第一时间还是想到了,算了,跟以前一样,页面处理一下吧,也就是这里用Ext的载入数据的时候用
- renderer调用一个函数处理一下就行了,等于0,页面输出空,这个相当容易,
- 对于类似的,不用Ext用struts?jsp?php?当让不在话下,也就是简单的一两句话就能解决了,
- 但是这个不是我想要的答案,对于Hibernate这里获得的值填充0,我百思不得其解,我不知道有其他的高人解决过没有,或者是自己想错了?难道是Ext得到的时候才是0?
这个可能性应该不会,设置断点来处理Hibernate得到的list值.原来这个时候得到的list还不是具体的数值,还只是上面的一个VO对象.然后再经过一到转换,也就是通过JSON,
jsonObj=JSONArray.fromObject(list);然后到页面的时候出现了0,这个时候,我想自己的学习过程也是不牢固的,到这里,我算是花了差不多两个多点小时,呵呵,就到此位置了.
因为这个时候,就去查API吧,一看JSONArray.java果然看到了
- /**
- * Make a prettyprinted JSON text of this JSONArray.
- * Warning: This method assumes that the data structure is acyclical.
- * @param indentFactor The number of spaces to add to each level of
- * indentation.
- * @return a printable, displayable, transmittable
- * representation of the object, beginning
- * with <code>[</code> <small>(left bracket)</small> and ending
- * with <code>]</code> <small>(right bracket)</small>.
- * @throws JSONException
- */
- public String toString(int indentFactor) throws JSONException {
- return toString(indentFactor, 0);
- }
这个时候可以安心了,过程也就这样暂时告一段落吧.其实是一个简单问题,呵呵,第一次还是写全了.虽然有点让人迷迷糊糊,不过总算是从头到位的写了一下Hibernate关于空数值操作引发的一系列问题.
这里就总结一下吧.
第一:Hibernate操作空数值类型,注意下.
第二:是否有其他因素引起的一系列原因让你不的其解.
不敢说什么解决方案,只有自己解决自己的问题的方案才是自己认为是解决方案,所以这里不敢给什么建议,今天第一次,呵呵,谢谢大家.
其实过程当中有很多问题没有能够写得清楚,比如创建过程,解决过程,只是针对问题说了一些看法,不尽完善,但是工作工程比较大,等有时间写吧.
- 关于Hibernate操作数据库为空(数值类型)以及引起的问题的一点点总结
- SQLSERVER数据库将数值类型转换为字符串的问题
- 关于MYSQL数据库Timestamp类型为空抛异常问题的处理
- MySQL数据库datetime类型不能为空字符串的问题
- MySQL数据库datetime类型不能为空字符串的问题
- 关于hive数据库查询操作出现的空指针问题
- 关于Hibernate源码 org.hibernate.hql.antlr包为空的问题。
- 关于CSS的一点点总结
- 数据库为空时的安全操作
- 关于hibernate的查询返回类型问题总结
- 关于SQL Server中将数值类型转换为字符串的问题
- 关于SQL Server中将数值类型转换为字符串的问题
- 关于SQL Server中将数值类型转换为字符串的问题
- 关于SQL Server中将数值类型转换为字符串的问题
- 获取数据库所有列以及列的类型是否为空是否为默认值是否为主键
- 关于数值的操作
- 一个引起service为空的原因
- 字符串为空引起的纠葛
- 【汇总c#.net常用函数和方法集】
- 【c#】C#基础全接触
- 用VB结束Excel的进程
- 通过DataSet更新数据库
- 【c#】开发应避免的几个小滥用
- 关于Hibernate操作数据库为空(数值类型)以及引起的问题的一点点总结
- 最近
- 改变一生的五句话
- .NET开发中的一些小技巧
- python 读取xml的方法
- Tomcat5.0下,更改index.jsp访问无变化
- 工作第一天
- XML-RPC
- 七个方法培养立即行动的习惯