`
sunwws
  • 浏览: 5707 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨市
社区版块
存档分类
最新评论

NUMBER类型精度与Hibernate中映射主键ID关系(原创)

阅读更多

首先了解一下ORACLE 10GNUMBER类型。

NUMBER precisionscale

precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。

scale表示数字小数点右边的位数,scale默认设置为0.如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。如果需要小数位,一般设置成23

 

通过Hibernate映射实体时会根据数据库中NUMBER类型的精度,生成相应的POJO类中相对应的主键类型。经过亲测结果如下:

NUMBER1

 

POJO类中生成的是Boolean

publicclass Test implements java.io.Serializable {

// Fields

private Boolean id;

}

 

NUMBER2

 

 

POJO类中生成的是Byte

publicclass Test implements java.io.Serializable {

private Byte id;

}

 

 

NUMBER3 NUMBER4

Short

 

 

NUMBER5 NUMBER6NUMBER7 NUMBER8

NUMBER9

Integer

 

 

 

NUMBER10 NUMBER11NUMBER12 NUMBER13

NUMBER14 NUMBER15NUMBER16 NUMBER17

NUMBER18

Long

 

NUMBER19-----NUMBER38

BigDecimal

 

 

NUMBER无精度时,默认38

 

POJO类中生成的是BigDecimal

 

阿升

2012-3-22

 

 



 

欢迎关注阿升老师的微信公众平台,在这里与我互动。
方法1:打开微信-->发现-->扫一扫-->关注
方法2:打开微信-->通讯录-->订阅号-->选择右上角+号输入"与或非"有一个黄铅笔头的图标-->关注

 

 

 
 
  • 大小: 23.6 KB
分享到:
评论

相关推荐

    Hibernate映射一对多关联关系

    一对多关联关系是指一个实体可以与多个其他类型的实体关联,但反过来,这些实体只与一个该类型的实体关联。例如,在客户(Customer)与订单(Order)的关系中,一个客户可以有多个订单,但每个订单只能属于一个客户。 #...

    mysql实现char类型主键自增长

    然而,这种自增长通常与整型数据类型(如INT)关联,而较少见于字符型数据(如CHAR)。本文将深入探讨如何在MySQL中利用触发器实现CHAR类型主键的自增长功能,这将为我们提供一种灵活且独特的主键生成策略。 ### ...

    Hibernate一对一单向外键关联 (联合主键annotation)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联是常见的关系映射类型,它用于表示两个实体之间存在唯一的对应关系。本篇将详细讲解如何使用Hibernate进行一对一单向外键关联,并且该关联涉及到联合主键的...

    Hibernate中数据类型

    然而,在与数据库交互时,这些数据类型需要与数据库中的相应字段类型进行映射。Hibernate,作为一款流行的Java持久化框架,提供了一种方便的方式来处理这种映射关系,使得我们可以轻松地在Java对象和数据库记录之间...

    全面解读hibernate关联关系

    hibernate关联关系详解 在Java Persistence API (JPA) 和 Hibernate 框架中,实体之间的关联关系是数据模型的重要组成部分。关联关系允许我们定义不同实体类之间的联系,如一对一、一对多、多对一和多对多。本文将...

    Hibernate对象关系

    通常情况下,一对一的关系可以通过共享主键的方式实现,即`Foo`和`Bar`共享同一个主键`ID`。 **双向性** 在Java对象模型中,双向的一对一关联可以通过`Foo`中的`Bar bar`和`Bar`中的`Foo foo`来实现。 ```java ...

    js中string和number类型互转换技巧(分享)

    string类型 *1 即可变成 number类型 2、number–>string number类型 +’‘ 即可变成 string 类型 [removed] function screenInfo() { var str = '012.8372'; var s = 0; str = str * 1; alert(...

    完美解决方案-雪花算法ID到前端之后精度丢失问题.docx

    该问题是由于JavaScript中的Number类型精度限制所导致的。 一、问题描述 在一个项目中,我们使用Mybatis Plus默认的雪花算法来生成ID,並将其存储在数据库中。然而,在将数据从后端传输到前端时,ID的精度丢失了。...

    oracle 创建id主键序列 脚本

    id NUMBER PRIMARY KEY DEFAULT seq_id.NEXTVAL, column2 VARCHAR2(50), column3 VARCHAR2(50) ); ``` 这样,当向`table_name`插入新记录时,如果没有为`id`字段提供值,Oracle会自动使用`seq_id`序列的下一个值...

    hibernate 映射关系学习入门 一对一映射

    在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨 Hibernate 中的一对一映射关系,并以"hibernate 映射关系学习入门 一对一映射Eclipse...

    Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法

    Hibernate是Java平台下的一款优秀对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互过程。然而,在使用Hibernate执行SQL查询时,如果查询的目标表中存在char类型的字段,Hibernate有时会将该...

    struts与hibernate实现文件的上传与动态下载

    Struts主要用于MVC(Model-View-Controller)架构,提供了一种组织应用程序的方式,而Hibernate是一个对象关系映射(ORM)工具,用于简化数据库操作。本篇文章将详细讲解如何利用Struts2.2和Hibernate3.6实现文件的...

    hibernate的知识总结

    - **Hibernate类型与Oracle数据类型的映射关系**:例如,`java.lang.Long` 对应于Oracle的 `NUMBER` 类型,`java.lang.String` 对应 `VARCHAR2`,`java.lang.Double` 对应 `NUMBER`,`java.sql.Timestamp` 对应 `...

    hibernate映射类型.doc

    Hibernate 是一个流行的 Java ORM(对象关系映射)框架,它允许开发者将Java类与数据库表进行映射,简化了数据库操作。在Hibernate中,为了能够将Java对象的数据持久化到数据库中,需要对Java类型和SQL类型进行映射...

    hibernate集合的映射

    在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象的集合属性上,以便实现对象关系映射(ORM)。本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际...

    (3)Hibernate3.2 中的 one-to-one关系

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念,它用于表示两个实体之间一对一的映射关系。本篇将深入探讨Hibernate 3.2中的一对一关系,以及如何在实际项目中...

    js Math.js bigNumber可以解决js运算精度丢失问题

    使用示例: math.config({ number:'BigNumber' }) let result=math.parser().eval(a+ "-" + b); //a,b是需要计算的值,中间是运算符

    hibernate_reference使用指南全

    例如,如果 `Person` 类有一个集合类型的属性 `Set<PhoneNumber>`,那么就可以定义一个单向集合关联。 - **1.3.3 处理关联** 学习如何在代码中访问和修改关联关系,包括如何使用集合操作方法(如 add、remove 等...

Global site tag (gtag.js) - Google Analytics