zoukankan      html  css  js  c++  java
  • Java 类型的 Hibernate 映射

    Java 基本类型的 Hibernate 映射

    标准 SQL 类型 大小和取值范围 映射类型 Java 类型
    INTEGER 4 字节 integer 或者 int int 或者 java.lang.Integer
    BIGINT 8 字节 long long or java.lang.Long
    SMALLINT 2 字节 short short or java.lang.Short
    TINYINT 1 字节 byte byte or java.lang.Byte
    FLOAT 4 字节 float float or java.lang.Float
    DOUBLE 8 字节 double double or java.lang.Double 
    NUMERIC NUMERIC(8,2)8 位 big_decimal java.math.BigDecimal
    CHAR(1) 定长字符 character char  Character  java.lang.String
    VARCHAR 变长字符串 string java.lang.String
    BIT 布尔类型 boolean boolean or java.lang.Boolean
    CHAR(1) (Y-N) 布尔类型 yes_no boolean or java.lang.Boolean
    CHAR(1) (T-F) 布尔类型 true_false boolean or java.lang.Boolean

    Java 时间和日期类型的 Hibernate 映射

    标准 SQL 类型 描述 映射类型 Java 类型
    DATE YYYY-MM-DD date java.util.Date or java.sql.Date
    TIME HH:MM:SS time java.util.Date or java.sql.Time
    TIMESTAMP YYYYMMDDHHMMSS timestamp java.util.Date or java.sql.Timestamp
    TIMESTAMP YYYYMMDDHHMMSS calendar java.util.Calendar
    DATE YYYY-MM-DD calendar/date java.util.Calendar

    Java 大对象类型的 Hibernate 映射

    标准 SQL 类型

    MySQL 类型

    Oracle 类型

    映射类型

    Java 类型

    VARBINARY( 或 BLOB)

    BLOB

    BLOB

    binary

    byte[]

    CLOB

    TEXT

    CLOB

    text

    java.lang.String

    VARBINARY( 或 BLOB)

    BLOB

    BLOB

    serializable

    java.io.Serializable的任何实例

    CLOB

    TEXT

    CLOB

    clob

    java.sql.Clob

    BLOB

    BLOB

    BLOB

    blob

    java.sql.Blob

    VARCHAR

     

     

    class

    java.lang.Class

    VARCHAR

       

    locale

    java.util.Locale

    VARCHAR     timezone java.util.TimeZone
    VARCHAR     currency java.util.Currency

    数据库整数型描述

    INT 类型

    该类型的实际含义

    描述

     Tinyint(m)

    8位整数,占用1个字节(-128~+127)

    TINYINT的取值范围是从-128~+127,如果使用了UNSIGNED属性,那么它的取值范围就变成了0~+255。如果用户试图存入超过字段取值范围的数字,MYSQL所做的工作就非常简单,它会直接替换成最大可取值或最小可取值。

    tinyint(m)括号中的m,指的是最大"显示"宽度。

     smallint(m)

    16位整数,占用2个字节(-32768~+32767)

     

     medimumint(m)

    24位整数,占用3个字节(-8388608~+8388607)

     

     int(m),integer(m)

    32位整数,占用4个字节(-2147483648~+2147483647)

     

     bigint(m)

    64位整数,占用8个字节(-9.22E+18 ~ +9.22E+18)

     

     serial

    这其实是bigint auto_increment not null primary key的简写

    serial含义里的auto_increment,代表了该字段是自增字段。即,往有该属性的字段里插数据时,系统会自动把该字段的当前最大值加上1后存进去。 一般而言,该属性往往用于主键字段。在使用该属性时应当注意以下几个问题:

    1、该属性必须与NOT NULL、primary Key 或者 Unique属性同时使用。
    2、每个数据表只能存有一个auto_increment属性的数据列
    3、该属性一般是在进行数据插入时,没有明确指定值或者指定值为NULL时,才起作用。如果指定了值,并且该值还没有出现过,MYSQL将使用该值插入,以生成一条新记录。这时候就有两种情况:a)原有的数据是1~100,后来删除了20~80的内容,即数据库里只存在1~19,81~100的数据,当插入ID为20的数据时,数据库还是会按照规则,把20这条记录插进去,并不会报错,自增值仍然是100,下次正常插入时,还是会默认使用101这个值。b)原有的数据是1~100,我插入ID为1000的数据时,不会报错,但自增值变为1000,下次插入数据从1001起算。

    参考:https://www.cnblogs.com/mjtabu/p/12885043.html

  • 相关阅读:
    MYSQL数据丢失讨论【转】
    MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
    MySQL Binlog 【ROW】和【STATEMENT】选择
    MySQL open_files_limit相关设置
    Python颜色输出和random的学习
    Python 之 【二进制、十进制、八进制、十六进制 】之间的转换【转】
    初识 MySQL 5.5 新功能、参数
    Oracle Inventory关键词解释
    plsql 输出当月的所有日期
    ORA29279: SMTP permanent error: 550 XXX@XX.com... No such user
  • 原文地址:https://www.cnblogs.com/mjtabu/p/13292501.html
Copyright © 2011-2022 走看看