收受二个name属性作为该实体类名称,修饰3个实体类皇冠现金app

一、类注解

一、类注解

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

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

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

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

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

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

    indexs:可回顾,为持久化类设置索引,属性值为1个@index申明数组

    indexs:可粗略,为持久化类设置索引,属性值为3个@index评释数组

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

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

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

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

        name:索引名,可省略

        name:索引名,可省略

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

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

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

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

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

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

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

    uniqueConstraints:为持久化类所映射的表钦点唯壹约束,值为3个@UniqueConstraint注明数组。可粗略。

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

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

  3.@Access用来转移Hibernate的天性访问战略,属性协助AccessType.PROPERTY, AccessType.FIELD,暗中认可为AccessType.PROPERTY

  3.@Access用以转移Hibernate的习性访问攻略,属性扶助AccessType.PROPERTY, AccessType.FIELD,默以为AccessType.PROPERTY

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

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

      AccessType.FIELD:直接通过成员变量访问属性。 

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

  4.@DynamicInsert:钦命用于插入时的SQL语句是或不是在运维是动态变化,并且只插入那一个非空字段,私下认可false,开启将招致hibernate费用愈多时间来生成SQL语句。

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

  5.@DynamicUpdate:钦定用于创新时的SQL语句是不是在运行是动态变化,并且只更新那个变过字段,暗中同意false,开启将导致hibernate费用愈来愈多时光来生成SQL语句。

  5.@DynamicUpdate:内定用于更新时的SQL语句是不是在运维是动态变化,并且只更新那多少个变过字段,私下认可false,开启将产生hibernate开销更加多时间来生成SQL语句。

  6.@SelectBeforeUpdate:钦点hibernate在创新时持久化对象时是或不是先进行二遍查询,暗中同意false。若查询的情事与日前场所同样则不会调用update保存情状。

  6.@SelectBeforeUpdate:钦定hibernate在更新时持久化对象时是或不是先进行一遍查询,私下认可false。若查询的状态与眼下情况一样则不会调用update保存情状。

  7.@Where:该证明的clause性格可钦点二个附加的SQL语句过滤条件,即在动用load()大概get()和别的查询办法时,唯有符合该where条件的才会被加载。该表明只会在询问时生效。

  7.@Where:该评释的clause品质可钦赐二个叠加的SQL语句过滤条件,即在使用load()或许get()和别的查询办法时,唯有切合该where条件的才会被加载。该申明只会在询问时生效。

  8.@BatchSize:当hibernate抓取群集只怕延缓加载时,钦赐每一遍加载size数量。

  8.@BatchSize:当hibernate抓取集结或许延缓加载时,内定每一回加载size数量。

  9.@OptimisticLocking:钦点乐观锁计谋,该评释的type品质接受

  9.@OptimisticLocking:钦命乐观锁计谋,该注明的type性格接受

    OptimisticLockType.VERSION:检查version/timestamp字段

    OptimisticLockType.VERSION:检查version/timestamp字段

    OptimisticLockType.ALL:检查全体字段

    OptimisticLockType.ALL:检查全体字段

    OptimisticLockType.DIRTY:之检查修改过的字段

    OptimisticLockType.DIRTY:之检查修改过的字段

    OptimisticLockType.NONE:不应用乐观锁

    OptimisticLockType.NONE:不使用乐观锁

    默认为:OptimisticLockType.VERSION

    默认为:OptimisticLockType.VERSION

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

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

 二、属性申明

 2、属性评释

    1、@column钦点有个别属性所映射的数码列的详细新闻。接受一下常用属性

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

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

    2、@Formula:该注脚的value属性收受三个SQL表明式,被该注解修饰的字段会基于此SQL计算,持久化表中未有与此属性对应的列。该属性只会在读取是立见成效

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

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

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

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

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

         在SQL中动用参数能够一直将目前类的习性传入

         在SQL中利用参数能够一直将目前类的性质传入

   
 3、@Generated:设置该属性映射的列的值是或不是又数据库生成,该申明的value可接受GenerationTime.NEVESportage(不有数据库生成),GenerationTime.ALWAYS(插入和更新时均生成),GenerationTime.INSERT(只在插入时更新),该属性须要底层数据库中有照望的触发器。在数据库生成后会读取这个值。

   
 3、@Generated:设置该属性映射的列的值是或不是又数据库生成,该评释的value可接受GenerationTime.NEVEOdyssey(不有数据库生成),GenerationTime.ALWAYS(插入和换代时均生成),GenerationTime.INSERT(只在插入时更新),该属性必要底层数据库中有相应的触发器。在数据库生成后会读取那个值。

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

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

    5、@Enumerated:修饰枚举类型,该注明的value属性接受EnumType.ST汉兰达ING(底层保存字符串)和EnumType.OLX570DINAL(底层保存编号)

    5、@Enumerated:修饰枚举类型,该评释的value属性接受EnumType.STWranglerING(底层保存字符串)和EnumType.O奥迪Q伍DINAL(底层保存编号)

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

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

      @Basic接受下边三个属性:

      @Basic经受上面两本天性:

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

        fetch:是还是不是延迟加载,该属性接受FetchType.EAGE大切诺基(马上加载)、FetchType.LAZY(延迟加载)

        optional:内定映射列是或不是允许使用null。

        optional:钦定映射列是不是允许选用null。

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

    7、@Temporal:用于修饰日期类型,该注脚的value接受七个值:

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

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

  三、主键生成相关

  三、主键生成相关

      对于主键使用@Id简轻便单标注就能够,不须求其它性质

      对于主键使用@Id轻易标注就可以,不必要其余性质

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

      可使用@GeneratedValue来修饰实体的号子属性,可钦定如下属性:

        strategy:钦定hibernate的主键生成攻略,能够总结,接受下列八个值:

        strategy:钦点hibernate的主键生成战术,可以省略,接受下列四个值:

          GenerationType.AUTO自动选用适当的底层数据库渐渐成形计策,那是暗中同意值。

          GenerationType.AUTO自动选拔适合的底层数据库逐步变化计策,那是暗中同意值。

          GenerationType.INDENTITY:对于MYSQL,SQL
Server那样的数据库,选择自增进的变化攻略。

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

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

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

          GenerationType.TABLE:使用援助表来扭转主键,应与@TableGenerator一齐使用。

          GenerationType.TABLE:使用扶助表来扭转主键,应与@TableGenerator一同利用。

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    使用hibernate的@GenericGenerator解说定义主键生成器,该证明接受多少个参数:

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

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

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

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

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

        increment:为long,int,short生成唯一标志,只万幸并未有此外进程往同三个表中插入时才干接纳。集群中不用采纳!

        increment:为long,int,short生成唯1标志,只可以在未有其余进程往同三个表中插入时才具选用。集群中毫无使用!

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

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

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

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

        hilo:使用八个高/低位算法来生成long、int、short类型的标记符,该标记符在3个数据库中是绝无仅有的。

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

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

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

        uuid:用多少个1二21个人的UUID算法来生成字符串类型的标志符,在全网中绝无仅有。该算法依照IP地址、JVM运维时间、四个计数器值(JVM中绝无仅有)来生成1个31位的字符串

        uuid:用叁个1二十几个人的UUID算法来生成字符串类型的标识符,在全网中唯1。该算法依据IP地址、JVM运转时间、1个计数器值(JVM中唯一)来生成三个三10个人的字符串

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

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

        native:根据底层数据库的技巧选拔identity、sequenec或许hilo中的二个

        native:依照底层数据库的技术采纳identity、sequenec可能hilo中的三个

        assigned:让应用程序在sava以前为对象分配3个标记符。也正是不采纳主键生成战术。

        assigned:让应用程序在sava以前为对象分配2个标记符。也正是不选取主键生成攻略。

        select:通过触发器选用有个别唯一主键的行,并再次来到其主键值作为标记属性值

        select:通过触发器选拔某些唯1主键的行,并回到其主键值作为标记属性值

        foreign:直接使用另一个关联的对象的标记符属性值(即本持久化对象不扭转主键)。那种宗旨只在依据主键的一-1关乎映射中立竿见影。

        foreign:间接利用另二个关联的目的的标记符属性值(即本持久化对象不调换主键)。那种方针只在依附主键的一-一关乎映射中央银立见成效。