• Hibernate映射类型(转)


    Hibernate映射类型分为两种:内置映射类型和客户化映射类型。内置映射类型负责把一些常见的Java类型映射到相应的SQL类型;此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活地定制客户化映射类型。客户化类型能够把用户定义的Java类型映射到数据库表的相应字段。

     

    一、Hibernate的内置映射类型

    1、Java基本类型的Hibernate映射类型

    Hibernate映射类型

    Java类型

    标准SQL类型

    大小和取值范围

    integer或者int

    int或者java.lang.Integer

    INTEGER

    4字节

    long

    long Long

    BIGINT

    8字节

    short

    short Short

    SMALLINT

    2字节

    byte

    byte Byte

    TINYINT

    1字节

    float

    float Float

    FLOAT

    4字节

    double

    double Double

    DOUBLE

    8字节

    big_decimal

    java.math.BigDecimal

    NUMERIC

    NUMERIC(8,2)8

    character

    char Character String

    CHAR(1)

    定长字符

    string

    String

    VARCHAR

    变长字符串

    boolean

    boolean Boolean

    BIT

    布尔类型

    yes_no

    boolean Boolean

    CHAR(1) (Y-N)

    布尔类型

    true_false

    boolean Boolean

    CHAR(1) (T-F)

    布尔类型

     

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

    映射类型

    Java类型

    标准SQL类型

    描述

    date

    util.Date或者sql.Date

    DATE

    YYYY-MM-DD

    time

    Date    Time

    TIME

    HH:MM:SS

    timestamp

    Date   Timestamp

    TIMESTAMP

    YYYYMMDDHHMMSS

    calendar

    calendar

    TIMESTAMP

    YYYYMMDDHHMMSS

    calendar_date

    calendar

    DATE

    YYYY-MM-DD

     

    3、Java大对象类型的Hibernate映射类型

    映射类型

    Java类型

    标准SQL类型

    MySQL类型

    Oracle类型

    binary

    byte[]

    VARBINARY(BLOB)

    BLOB

    BLOB

    text

    String

    CLOB

    TEXT

    CLOB

    serializable

    Serializable接口任意实现类

    VARBINARY(BLOB)

    BLOB

    BLOB

    clob

    java.sql.Clob

    CLOB

    TEXT

    CLOB

    blob

    java.sql.Blob

    BLOB

    BLOB

    BLOB

     

           在程序中通过Hibernate来保存java.sql.Clob或者java.sql.Blob实例时,必须包含两个步骤:

    l         在一个数据库事务中先保存一个空的Blob或Clob实例。

    l         接着锁定这条记录,更新上面保存的Blob或Clob实例,把二进制数据或文本数据写到Blob或Clob实例中。

     

    4、JDK自带的个别Java类的Hibernate映射类型(略)

     

    5、使用Hibernate内置映射类型

      

    二、客户化映射类型(略)

  • 相关阅读:
    HTML5侧滑聊天面板
    HTML5世界地图
    BZOJ_1042_[HAOI2008]硬币购物_容斥原理+背包
    BZOJ_1342_[Baltic2007]Sound静音问题_单调队列
    BZOJ_2343_[Usaco2011 Open]修剪草坪 _单调队列_DP
    BZOJ_2595_[Wc2008]游览计划_斯坦纳树
    BZOJ_5180_[Baltic2016]Cities_ 斯坦纳树
    BZOJ_4006_[JLOI2015]管道连接_斯坦纳树
    51nod_1412_AVL树的种类_动态规划
    BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元
  • 原文地址:https://www.cnblogs.com/dingding0505/p/3911944.html
Copyright © 2020-2023  润新知