修饰三个实体类,修饰多个实体类澳门永利娱乐总站

        select:通过触发器采用有个别唯一主键的行,并赶回其主键值作为标识属性值

    7、@Temporal:用于修饰日期类型,该申明的value接受四个值:

 

         在SQL中采用参数能够平昔将日前类的质量传入

 

         SQL中的列名与表名都应与数据库中的表名和列名对应

        identity:在DB二 、MySql、SQL
Server、Sybase和HypersonicSQL等有提供identity(自拉长)的数据库中适用。

         
generator:当使用GenerationType.SEQUENCE或GenerationType.TABLE时钦点生成器的称谓。

   
 3、@Generated:设置该属性映射的列的值是或不是又数据库生成,该评释的value可接受GenerationTime.NEVECR-V(不有数据库生成),GenerationTime.ALWAYS(插入和翻新时均生成),GenerationTime.INSERubiconT(只在插入时更新),该属性供给底层数据库中有照应的触发器。在数据库生成后会读取这一个值。

        fetch:是或不是延迟加载,该属性接受FetchType.EAGE凯雷德(立刻加载)、FetchType.LAZY(延迟加载)

 

        TemporalType.TIME(只取时间部分),TemporalType.DATE(只取日期部分),TemporalType.TIMESTAMP(时间戳)

    4、@Transient:用来修饰不想持久保存的性格。

 

        native:依照底层数据库的能力接纳identity、sequenec也许hilo中的二个

      对于主键使用@Id简言之标注即可,不需求别的性质

    6、@Lob,@Basic:修饰大数据类型属性(Clob,Blob),当属性为byte[],Byte[],java.io.Serializable类型时@Lob会在尾部映射Blob列,当属性为char[],Character[],java.lang.String时@Lob会在底层映射为Clob列。

    OptimisticLockType.ALL:检查全体字段

    2、@Formula:该注脚的value属性经受二个SQL表达式,被该注明修饰的字段会依照此SQL总括,持久化表中没有与此属性对应的列。该属性只会在读取是一蹴而就

   
 3、@Generated:设置该属性映射的列的值是或不是又数据库生成,该评释的value可接受GenerationTime.NEVEMurano(不有数据库生成),GenerationTime.ALWAYS(插入和换代时均生成),GenerationTime.INSE途乐T(只在插入时更新),该属性需求底层数据库中有照应的触发器。在数据库生成后会读取这么些值。

    OptimisticLockType.ALL:检查全部字段

      strategy:必须属性。设置该生成器的主键生成策略。接受以下值:

        fetch:是还是不是推迟加载,该属性接受FetchType.EAGEEscort(马上加载)、FetchType.LAZY(延迟加载)

    1、@column钦赐某些属性所映射的数码列的详细新闻。接受一下常用属性

  4.@DynamicInsert:内定用于插入时的SQL语句是不是在运作是动态变化,并且只插入那么些非空字段,默许false,开启将导致hibernate开销更加多时间来生成SQL语句。

        seqhilo:使用2个高/低位算法来生成long、int、short类型的标识符,须求给定1个Sequence名,该属性适用与提供Sequence的数据库。

        optional:钦赐映射列是还是不是同意利用null。

        optional:钦点映射列是不是同意使用null。

 

        unique:可粗略,设置该索引是或不是唯一,只可以取,true
或false,私下认可true

        foreign:直接利用另三个事关的指标的标识符属性值(即本持久化对象不转变主键)。这种政策只在依据主键的1-1关联映射中有效。

 

  9.@OptimisticLocking:钦定乐观锁策略,该注脚的type品质接受

        identity:在DB二 、MySql、SQL
Server、Sybase和HypersonicSQL等有提供identity(自增进)的数据库中适用。

          GenerationType.INDENTITY:对于MYSQL,SQL
Server那样的数据库,采取自拉长的变动策略。

  10.@Check:通过品质constraints钦命2个SQL表明式,用于给相应的表钦赐八个check约束。

 

        guid:在SQL Server和Mysql中央银行使数据库生成的GUID 字符串

        TemporalType.TIME(只取时间有个别),TemporalType.DATE(只取日期部分),TemporalType.TIMESTAMP(时间戳)

      @Basic接受下边多少个个性:

 

  5.@DynamicUpdate:钦定用于革新时的SQL语句是不是在运营是动态变化,并且只更新那么些变过字段,暗中同意false,开启将招致hibernate成本越多时间来生成SQL语句。

      AccessType.PROPECRUISERTY:使用getter/setter方法访问属性。

  6.@SelectBeforeUpdate:钦定hibernate在更新时持久化对象时是或不是先进行一遍询问,默许false。若查询的图景与当前景观同样则不会调用update保存处境。

  5.@DynamicUpdate:内定用于更新时的SQL语句是不是在运营是动态变化,并且只更新那么些变过字段,私下认可false,开启将导致hibernate耗费越来越多时间来生成SQL语句。

 

      @index :用于为数据表设置索引,接受以下熟稔

    OptimisticLockType.VERSION:检查version/timestamp字段

  8.@BatchSize:当hibernate抓取集合恐怕延缓加载时,钦赐每趟加载size数量。

 

      注意:value=“(SQL)”中的括号不可省略

 

        guid:在SQL Server和Mysql中运用数据库生成的GUID 字符串

 

    catalog:可回顾,用于安装将持久化类所映射的表放入钦赐的catalog中,若省略,则放入暗许的catalog中。

          GenerationType.TABLE:使用帮助表来变化主键,应与@TableGenerator一起行使。

    uniqueConstraints:为持久化类所映射的表钦命唯一约束,值为1个@UniqueConstraint注明数组。可归纳。

  2、@Table钦赐持久化类所映射的表名,可接受以下属性

    使用hibernate的@GenericGenerator诠释定义主键生成器,该注明接受多个参数:

      @UniqueConstraint:为数据表制定唯一约束,需点名一个columnNames属性,该属性为2个字符串数组。

 

      AccessType.FIELD:直接通过分子变量访问属性。 

 

 

         SQL中的列名与表名都应与数据库中的表名和列名对应

  9.@OptimisticLocking:钦赐乐观锁策略,该注脚的type属性接受

    1、@column点名某些属性所映射的多少列的详细新闻。接受一下常用属性

      AccessType.PROPECR-VTY:使用getter/setter方法访问属性。

    name:  该实体类所映射的表名,若省略,私下认可与类名一致。

        columnList
不行省略,设置对那么些列建立目录,可内定多少个数据列,内定四个列时用逗号将多个列隔断。如:@Index(columnList
= “id,name,pass”),同时为id,name,pass设置索引。

    5、@Enumerated:修饰枚举类型,该申明的value属性接受EnumType.ST帕杰罗ING(底层保存字符串)和EnumType.OSportageDINAL(底层保存编号)

    OptimisticLockType.NONE:不行使乐观锁

 

      @index :用于为数据表设置索引,接受以下纯熟

 

          GenerationType.SEQUENCE:对于Oracle那样基于Sequence的主键生成策略。应与@SequenceGenerator一起利用。

 ② 、属性注明

 

          GenerationType.TABLE:使用支持表来扭转主键,应与@TableGenerator一起使用。

        Sequence:在DB2、PostgreSQL、Oracle、SAP
DB、McKoi等有提供Sequence匡助的数据库中适用。

      对于@SequenceGenerator可钦点下表属性:

    使用hibernate的@GenericGenerator表明定义主键生成器,该注解接受三个参数:

对于@TableGenerator可内定下表属性,该证明会在底层数据库中额外生成2个帮忙表。

    2、@Formula:该注脚的value属性经受二个SQL表明式,被该申明修饰的字段会依据此SQL计算,持久化表中向来不与此属性对应的列。该属性只会在读取是卓有功能

      strategy:必须属性。设置该生成器的主键生成策略。接受以下值:

属性 是否必须 说明
columnDefinition 值代表一个列定义的SQL字符串,指定传见该数据列的SQL语句
insertable 指定该列是否在默认生成的iinsert语句中,默认true
length 指定该列最大保存的数据长度默认255
name 指定该列的列名默认与@Column修饰的
nullable 指定该列是否允许为null,默认true 
precisoon  当该列是decimal类型时,该属性指定该列的最大有效数字位
scale  否  当该列是decimal类型时,该属性指定该列的最大的小数位数 
table  否  指定该列所属的表名。用多个表保存一个实体时需要该属性。 
unique  否  指定该列是否需要唯一属性,默认false 
updatable  指定该列是否包含在hibernate所生成的update语句列表中,默认true 
     

          GenerationType.SEQUENCE:对于Oracle那样基于Sequence的主键生成策略。应与@SequenceGenerator一起使用。

    indexs:可总结,为持久化类设置索引,属性值为一个@index申明数组

        hilo:使用2个高/低位算法来生成long、int、short类型的标识符,该标识符在二个数据库中是唯一的。

 ② 、属性申明

 

    schema:将该持久化所映射的表放入schema中,若省略则放入暗许schema中。

        columnList
不得省略,设置对那二个列建立目录,可钦点多个数据列,钦定多个列时用逗号将多少个列隔离。如:@Index(columnList
= “id,name,pass”),同时为id,name,pass设置索引。

        increment:为long,int,short生成唯一标识,只幸好平昔不任何进程往同八个表中插入时才能接纳。集群中并非接纳!

        Sequence:在DB二 、PostgreSQL、Oracle、SAP
DB、McKoi等有提供Sequence帮助的数据库中适用。

 

    默认为:OptimisticLockType.VERSION

  7.@Where:该评释的clause属性可钦点多少个外加的SQL语句过滤条件,即在应用load()大概get()和别的查询办法时,唯有切合该where条件的才会被加载。该注脚只会在询问时生效。

      对于主键使用@Id粗略标注即可,不要求别的性质

对于@TableGenerator可钦定下表属性,该评释会在底层数据库中额外生成1个协助表。

        unique:可粗略,设置该索引是还是不是唯一,只好取,true
或false,暗中同意true

      name:必须属性。设置该生成器的名号,该名称能够被@GeneratedValue的generator属性引用。

 

      对于@SequenceGenerator可钦命下表属性:

  2、@Table点名持久化类所映射的表名,可承受以下属性

      注意:value=“(SQL)”中的括号不可省略

    schema:将该持久化所映射的表放入schema中,若省略则放入默许schema中。

uniqueConstraints 该属性为一个@UniqueConstraint数组,用于为辅助表创建唯一约束
name 指定该主键生成器的名称
allocationSize 指定底层辅助表每次生成主键值的个数
catalog 用于设置将持久化类所映射的表放入指定的catalog中,若省略,则放入默认的catalog中
schema 用于设置将持久化类所映射的表放入指定的schema中,若省略,则放入默认的schema中
table 指定辅助表的名称
initialValue 将指定值作为底层辅助表的起始值。默认0.
pkColumnName 指定存放主键名的列名
pkcolumnValue 指定主键名
valueColumnName 指定存放主键值的列名
indexs 指定一个@Index数组,为辅助表创建索引

      @Basic收受下边两性子格:

属性 是否必须 说明
name 指定该主键生成器的名称
catalog 用于设置将持久化类所映射的表放入指定的catalog中,若省略,则放入默认的catalog中。
schema 用于设置将持久化类所映射的表放入指定的schema中,若省略,则放入默认的schema中。
initialValue 指定底层Sequence的初始值。对于Oracle该属性指定的整数值将作为定义Sequence时的start with值
sequenceName 指定底层Sequence的名称
allocationSize 指定底层Sequence每次生成主键值的个数。

    7、@Temporal:用于修饰日期类型,该表明的value接受多个值:

  4.@DynamicInsert:钦定用于插入时的SQL语句是或不是在运作是动态变化,并且只插入那个非空字段,默许false,开启将导致hibernate费用越来越多时间来生成SQL语句。

  1、@entity修饰三个实体类,接受贰个name属性作为该实体类名称,可省略暗中同意为该类名

  1、@entity修饰二个实体类,接受三个name属性作为该实体类名称,可省略默许为该类名

    OptimisticLockType.DI汉兰达TY:之检查修改过的字段

      可使用@GeneratedValue来修饰实体的标志属性,可钦赐如下属性:

  6.@SelectBeforeUpdate:内定hibernate在立异时持久化对象时是还是不是先举办三次查询,默许false。若查询的景色与当下情状一样则不会调用update保存境况。

 

         在SQL中动用参数能够一直将眼下类的品质传入

    catalog:可粗略,用于安装将持久化类所映射的表放入钦命的catalog中,若省略,则放入暗中同意的catalog中。

    OptimisticLockType.NONE:不使用乐观锁

  8.@BatchSize:当hibernate抓取集合可能延缓加载时,钦点每一遍加载size数量。

      AccessType.FIELD:直接通过分子变量访问属性。 

  3.@Access用以转移Hibernate的品质访问策略,属性扶助AccessType.PROPE大切诺基TY, AccessType.FIELD,暗中认可为AccessType.PROPE帕杰罗TY

      name:必须属性。设置该生成器的名称,该名称能够被@GeneratedValue的generator属性引用。

    6、@Lob,@Basic:修饰大数据类型属性(Clob,Blob),当属性为byte[],Byte[],java.io.Serializable类型时@Lob会在底部映射Blob列,当属性为char[],Character[],java.lang.String时@Lob会在底层映射为Clob列。

 

 

  10.@Check:通过质量constraints内定三个SQL表明式,用于给相应的表钦定2个check约束。

 

        increment:为long,int,short生成唯一标识,只可以在未曾其余进程往同多少个表中插入时才能选取。集群中毫无选拔!

一、类注解

        strategy:钦点hibernate的主键生成策略,能够省略,接受下列多个值:

        name:索引名,可省略

      可使用@GeneratedValue来修饰实体的标志属性,可内定如下属性:

          GenerationType.AUTO自动选用非常的平底数据库渐渐成形策略,那是暗中同意值。

        name:索引名,可省略

        select:通过触发器采用有个别唯一主键的行,并赶回其主键值作为标识属性值

          GenerationType.AUTO自动选取适宜的平底数据库慢慢转变策略,这是暗中同意值。

        strategy:钦命hibernate的主键生成策略,能够简容易单,接受下列八个值:

        assigned:让应用程序在sava在此以前为指标分配3个标识符。约等于不选择主键生成策略。

    OptimisticLockType.DI奥德赛TY:之检查修改过的字段

 

        uuid:用贰个12伍个人的UUID算法来生成字符串类型的标识符,在全网中绝无仅有。该算法依据IP地址、JVM运维时间、2个计数器值(JVM中唯一)来生成叁个三14个人的字符串

    indexs:可粗略,为持久化类设置索引,属性值为二个@index注脚数组

    5、@Enumerated:修饰枚举类型,该注明的value属性接受EnumType.STCR-VING(底层保存字符串)和EnumType.O奥德赛DINAL(底层保存编号)

  三 、主键生成相关

  ③ 、主键生成相关

一、类注解

 

  7.@Where:该表明的clause质量可钦点1个叠加的SQL语句过滤条件,即在选拔load()也许get()和其它查询形式时,唯有顺应该where条件的才会被加载。该评释只会在询问时生效。

        hilo:使用几个高/低位算法来生成long、int、short类型的标识符,该标识符在一个数据库中是唯一的。

 

    name:  该实体类所映射的表名,若省略,暗中认可与类名一致。

      @UniqueConstraint:为数据表制定唯一约束,需点名三个columnNames属性,该属性为一个字符串数组。

        assigned:让应用程序在sava以前为目的分配三个标识符。也就是不应用主键生成策略。

uniqueConstraints 该属性为一个@UniqueConstraint数组,用于为辅助表创建唯一约束
name 指定该主键生成器的名称
allocationSize 指定底层辅助表每次生成主键值的个数
catalog 用于设置将持久化类所映射的表放入指定的catalog中,若省略,则放入默认的catalog中
schema 用于设置将持久化类所映射的表放入指定的schema中,若省略,则放入默认的schema中
table 指定辅助表的名称
initialValue 将指定值作为底层辅助表的起始值。默认0.
pkColumnName 指定存放主键名的列名
pkcolumnValue 指定主键名
valueColumnName 指定存放主键值的列名
indexs 指定一个@Index数组,为辅助表创建索引

 

属性 是否必须 说明
name 指定该主键生成器的名称
catalog 用于设置将持久化类所映射的表放入指定的catalog中,若省略,则放入默认的catalog中。
schema 用于设置将持久化类所映射的表放入指定的schema中,若省略,则放入默认的schema中。
initialValue 指定底层Sequence的初始值。对于Oracle该属性指定的整数值将作为定义Sequence时的start with值
sequenceName 指定底层Sequence的名称
allocationSize 指定底层Sequence每次生成主键值的个数。

        native:依照底层数据库的力量选拔identity、sequenec也许hilo中的二个

属性 是否必须 说明
columnDefinition 值代表一个列定义的SQL字符串,指定传见该数据列的SQL语句
insertable 指定该列是否在默认生成的iinsert语句中,默认true
length 指定该列最大保存的数据长度默认255
name 指定该列的列名默认与@Column修饰的
nullable 指定该列是否允许为null,默认true 
precisoon  当该列是decimal类型时,该属性指定该列的最大有效数字位
scale  否  当该列是decimal类型时,该属性指定该列的最大的小数位数 
table  否  指定该列所属的表名。用多个表保存一个实体时需要该属性。 
unique  否  指定该列是否需要唯一属性,默认false 
updatable  指定该列是否包含在hibernate所生成的update语句列表中,默认true 
     

    uniqueConstraints:为持久化类所映射的表钦定唯一约束,值为一个@UniqueConstraint注脚数组。可总结。

         
generator:当使用GenerationType.SEQUENCE或GenerationType.TABLE时内定生成器的名目。

        foreign:直接行使另三个关乎的靶子的标识符属性值(即本持久化对象不转移主键)。那种政策只在依照主键的1-1提到映射中央银一蹴而就。

    OptimisticLockType.VERSION:检查version/timestamp字段

    默认为:OptimisticLockType.VERSION

  3.@Access用于转移Hibernate的性质访问策略,属性辅助AccessType.PROPE瑞虎TY, AccessType.FIELD,暗中认可为AccessType.PROPE陆风X8TY

          GenerationType.INDENTITY:对于MYSQL,SQL
Server那样的数据库,选用自增加的变动策略。

        uuid:用二个1二十六位的UUID算法来生成字符串类型的标识符,在全网中唯一。该算法根据IP地址、JVM运营时间、三个计数器值(JVM中绝无仅有)来生成3个叁拾四人的字符串

 

        seqhilo:使用二个高/低位算法来生成long、int、short类型的标识符,须求给定2个Sequence名,该属性适用与提供Sequence的数据库。

    4、@Transient:用来修饰不想持久保存的习性。

相关文章