创建oracle表的时候一个小细节,会导致你处理java类型转换是时候很蛋疼

1、之前在做项目的时候,数据库是用powerdesigner设计的,由于当时设计的时候没注意,int的类型 没给长度

在生成数据库的时候,oracle默认给你生成的类型是BigDecimal这种大类型的。当时还觉得没什么。后台存的时候new一个BigDecimal出来再存就是

可是后来 一位同事在统计数据记录的时候,count(*)统计出来的也是BigDecimal    这时候用hibernate转很麻烦

如果是int类型 那么hibernate转的方式:

  int count =((Long)createQuery(hql).uniqueResult()).inValue()

   但是如果是上面我那种犯了小错误的

   就应该是这样转:

   BigDecimal b=new BigDecimal(((Long)createQuery(hql).uniqueResult()).inValue());

   int i=b.intValue();

这时的i才是int型,之前因为没有处理过BigDecimal这种类型。虽然帮他解决了,但是不知道有没什么简单的方法,如果有 大家给点意见

时间: 2024-10-30 16:22:57

创建oracle表的时候一个小细节,会导致你处理java类型转换是时候很蛋疼的相关文章

六分钟学会创建Oracle表空间的步骤

经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space; 2.增加Oracle表空间 先查询数据文件名称.大小和路径的信息,语句如下: select tablespace_name,file_id,bytes,file_name from dba_data_files; 3.修

SQL创建Oracle表空间、用户以及给用户赋权的方法

//创建表空间 Create tablespace examination//创建表空间examination datafile 'c:\Oracle\zhangwei\examination.dbf'//与表空间关联的文件存放位置(要预先手动建好文件夹) size 100m//文件初始大小,千万不要写成mb(这里以下可略) autoextend on//文件大小可自动拓展 next 30m//每次拓展30m maxsize unlimited//不限制文件大小的上限 logging//生成对于

C++在使用Qt中SLOT宏须要注意的一个小细节

大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是什么类型,就去运行哪个类型的函数. 非常有一种比較经典的使用方法,就是Template Method模式,基类定义一个非虚的算法框架,里面详细定义一些纯虚的函数片段,由子类来进行实现,从而实现了控制整体框架,但能够给客户自由定制的灵活性.这个使用方法事实上就是指针去调用了基类的方法,由方法的扩展之后

字符串的一个小细节

就是在今天,发现了一个问题 "0_0 (: /-\ : ) 0-0".replace(/\s/g,'') 结果是"0_0(:/-:)0-0" 本来只是想把空白符删掉的,可是为什么"\"也会被替换掉 忽略了一个小细节,字符串中"\"是转义字符,是无法显示出来的 "0_0 (: /-\\ : ) 0-0".replace(/\s/g,'') 如果是这样就可以达到想要的效果了

C++在使用Qt中SLOT宏需要注意的一个小细节

大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是什么类型,就去执行哪个类型的函数. 很有一种比较经典的用法,就是Template Method模式,基类定义一个非虚的算法框架,里面具体定义一些纯虚的函数片段,由子类来进行实现,从而实现了控制总体框架,但可以给客户自由定制的灵活性.这个用法其实就是指针去调用了基类的方法,由方法的扩展之后扩展到虚函数

9行代码体现集合框架中的一个小细节

String[] strs = {"string--01", "string--02", "string--03", "string--04"};List<String> strsList = Arrays.asList(strs);//以下语句输出:[string--01, string--02, string--03, string--04]System.out.println(strsList); int[]

oracle 表被另一个用户锁住后的解决办法

oracle 表被另一个用户锁住后的解决办法 1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 2.找出数据库的serial#,以备杀死: select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by

Oracle 12cR2 安装时的小细节

注意到了Oracle database在12c release 2 OUI安装时的几个小细节,记录如下: 1. 在DBCA向导中,默认会指定创建一个orcl CDB数据库以及一个orclpdb的可插拔数据库.而在之前的版本中,这块都是需要你自己填写的.这么说吧,就是想法设法把你往多租户上引... 2. 不再指定闪回恢复区了.是的,从这个版本开始,oui默认已经不再为你勾选闪回恢复区啦.这个选项可以历经了大小几个版本,Oracle或许是知道这个功能在生产环境中有多少是启动的.即使用了闪回区,没有有

linux下创建oracle表空间

来自:http://blog.sina.com.cn/s/blog_62192aed01018aep.html 1 . 登录服务器 2 . 查看磁盘空间是否够大df -h -h更具目前磁盘空间和使用情况 以更易读的方式显示 [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 2.9G 2.3G 521M 82% / none 209M 0 209M 0% /dev/shm /dev/s