不要用里面的number作为主键,数据库中使用long或者int.这样反响工程的到的主键就是Long或者Intger类型的了。
2>如果非用不可也有两种方案供选择:
① 每次都要将数据转换成Bigdecimal然后插入到数据库中,具体可以通过 Bigdecimal的构造方法,例如你的主键是bg,那么添加520到主键就是:
bg=new BigDecimal(520);这种麻烦死了。
②修改映射类型要比上面的好一些。将bean中的BigDecimal为int或long(当然也可以是他们的封装对象Integer 和Long了,因为Integer和Long继承自number,所以子类对象传给父类引用时没问题的)。然后再修改配置文件,将主键映射的类型修改过来( 将<id name="id" type="java.math.BigDecimal">改为<id name="id" type="java.lang.Integer")。这种比上面的省事很多。
现在给你一点建议:
不要用number做主键,那个实在是拿大炮打蚊子。Oracle设计number是用来做数学相关的,hibernate把他映射成BigDecimal,因为BigDecimal继承了java.lang.number并且实现了Serializable, Comparable<BigDecimal> 两个接口。里面封装了很多很多数学方法(你可以看看api文档具体有哪些,以后也许会用到)。这样做是为了方便程序开发,因为有的字段使用number会非常方便,比如你做个数学应用软件或是工程学相关的,里面的数值大部分都会用number。
分享到:
相关推荐
Oracle中主键自增实例
oracle序列主键自增长实现主键自动增长
ORACLE自增主键设置方法ORACLE自增主键设置方法
查询ORACLE的主键的执行脚本,能够查询到ORACLE中表的主键。
oracle数据库主键自动生成
oracle中创建自增主键的方法
oracle数据库中主键属性没有自增长,所以只能自己写程序来实现,用序列与触发器,可以解决这个 问题
1.1、直接在PLSQL中设置 1.2、命令创建 create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 order ##确保...
oracle 创建id主键序列的 脚本 及 使用方式 oracle 创建id主键序列的 脚本 及 使用方式
oracle设置主键自动增长 首先,你要有一张表! 然后,你需要一个自定义的sequence 以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle...
oracle 数据库主键自增脚本 --第一步,创建表 --第二步,创建自增序列 --第三步,创建触发器
如何在oracle中查询所有用户表的表名、主键名称、索引、外键等
oracle设置主键自增的方法,可以图形化界面也可以用sql语句,两种方法均亲自验证过。
用于Oracle的主键进行自增的办法,有触发器 和序列机制
oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test
到此这篇关于Navicat Premium中Oracle创建主键自增的方法的文章就介绍到这了,更多相关Navicat Premium主键自增内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!
教你如何使用oracle中的sequence,实现主键自动增长
oracle触发器实现主键自动增长操作
在oracle中可以利用触发器创建自增,从而完成我们像在sql server与mysql中定义的主键自增的功能。从而方便我们的开发
oracle中设置自增主键的方法介绍,用来设置自增