Hibernate表单操作

Posted RocketMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate表单操作相关的知识,希望对你有一定的参考价值。

1、单一主键

  assigned(由java程序生成标识符)

  native(由数据库自动生成标识符,例如mysql就是increment、Oracle就是sequence)


 

2、基本类型

  hibernate映射类型  java类型        sql类型    大小

  integer/int      java.lang.Integer/int  INTEGER    4 btye

  long         java.lang.Long     BIGENT    8

  short        java.lang.Short      SMALLINT   2

  float         java.lang.Float       FLOAT    4

  double        java.lang.Double           DOUBLE    8

  byte         java.lang.Byte     TINYINT    1

  character      java.lang.Character/char/String  CHAR(1)  定长字符

  string         java.lang.String    VARCHAR()    变长字符

  boolean        java.lang.Boolean    BIT      布尔类型

  date         java.util.Date/java.sql.Date  DATE    日期-->>>>>>yyyy-MM-dd

  time         java.util.Date/Time   TIME       日期-->>>>>hh:mm:ss

  timestamp     java.util.Date/Timestamp  TIMESTAMP  日期-->>>>yyyy-MM-dd hh:mm:ss


 

3、对象类型

  binary        btye[]         VARCHAR()

  text         java.lang.String     CLOB

  clob(大文本类型)   java.sql.Clob       CLOB

  blob(二进制数据类型)java.sql.Blob       BLOB

  mysql中没有CLOB而是TEXT、LONGTEXT、SHORTTEXT表示数据超过255的文本


 

4、组件属性

  实体类中某个属性是用户自定义的属性(例如:(邮编、电话号)封装成的地址类)

  映射属性时应该这样写

  <component name="属性" class="类">

    <property name="属性" column="字段"></property>

    <property name="属性" column="字段"></property>

  <component>


 

5、单表操作CURD实例

  保存:save()

  删除:delete()

  修改:update()

  查询单个:get()/load()

    get和load的区别:  

      get方法后会直接发出sql语句返回持久化的对象

      load方法会调用之后返回一个代理对象,即是实体对象的id,直到调用对象的非主键属性时才会发出sql语句  

      如果对象不存在,get方法返回null,load方法抛出异常ObjectNotFoundException


 

以上是关于Hibernate表单操作的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot项目使用Hibernate Validator进行表单验证

Spring和/或Hibernate:表单提交后从一侧保存多对多关系

我是初学springMVC,与hibernate一起用,现在遇到以下问题,点击表单提交时就出现这个问题

Hibernate Validator表单验证异常javax.validation.UnexpectedTypeException问题

spring boot + hibernate 如何实现前后端交互的。如果前台提交一个表单进行保存

ssh整合思想初步 structs2 Spring Hibernate三大框架各自要点