zoukankan      html  css  js  c++  java
  • 关于hibernate 注解(annotation)的一些说明

      最近在学hibernate的有关知识,遇到了annotation,就在网上查了查然后分享给需要的小伙伴:

      注:原文链接地址:http://www.cnblogs.com/dyllove98/archive/2013/06/28/3161492.html

    @ javax.persistence.Entity

      实体类定义,该标签表示当前类是一个Hibernate的数据库实体,对应着数据库中的某个表

      位置:用于类级别

      参数:无

      样例:@Entity

      注意:导入标签类时可能会有多个,这里使用的是javax.persistence.Entity

    @javax.persistence.Table

      实体类定义,该标签表示当前类是一个Hibernate的数据库实体,对应着数据库中的某个表

      位置:用于类级别

      参数:name – 用于指定表名,如果不指定则表名与类名相同,考虑到不同数据库的解析方式可能不一样,建议手工指定表名。表名统一用大写字母,单词之间用下划线分隔。

      样例:@Table(name=”DAT_USER_INFO”)

      注意:导入标签类时可能会有多个,这里使用的是javax.persistence.Table

    @ javax.persistence.Id

      该标签用于标识数据实体的主键

      位置:用于主键属性的Get方法,QFrame约定为getId()方法

      参数:无

      样例:@Id

    @ javax.persistence.GeneratedValue

       定义主键生成方式,通常和@ org.hibernate.annotations.GenericGenerator一同使用,用于生成主键。

      位置:用于主键属性的Get方法,QFrame约定为getId()方法。

      参数:strategy -构造方式;generator -构造器名称。

      样例:

      1、 由Hibernate自动生成主键:@GeneratedValue(strategy=GenerationType.AUTO)

      2、 根据主指构造器生成主键:@GeneratedValue(generator="assigned")

    @ org.hibernate.annotations.GenericGenerator

      Hibernate提供的主键构造器。通常与@GeneratedValue配合使用。

      位置:用于主键属性的Get 方法。

      参数:name -构造器名称,在@GeneratedValue 中引用;strategy -构造方式。

      样例:

      1.      手工指定的主键:
      @GeneratedValue(generator="assigned") 
      @GenericGenerator(name = "assigned", strategy = "assigned")

      2.      从Sequence 获取主键:
      @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="TASK_SEQ")
      @SequenceGenerator(name="TASK_SEQ",sequenceName="SEQ_GROUP_SEND_TASK")

    @ javax.persistence.Column

      用于表示实体属性对应数据库表的哪个字段。

      位置:用于属性的Get 方法

      参数:

      name – 字段名,默认为属性名,建议手工指定,字段名统一使用大写字母

      nullable -boolean 值,表示该属性是否可以为空,默认为true。

      insertable -boolean 值,表示该属性是否在insert语句中包含,默认为true。

      updatable -boolean 值,表示该属性是否在update 语句中包含,默认为true。

      length -int值,表示该属性值的长度,通常用于字符串属性,默认为255。

      unique -boolean 值,表示该属性值是否建立唯一索引,默认为false。

    @ javax.persistence.Transient

      用于标识不在数据库表中映射的属性。

      位置:用于属性的Get 方法

      参数:无

    @ org.hibernate.annotations.Type

      自定义类型,将属性用于自定义类型。通常用于定义枚举类型。

      位置:用于属性的Get 方法

      参数:type -类型完成名称(包含包名)

      样例:@Type(type="net.osjava.xsmfms.entity.SendTypeDataType")

  • 相关阅读:
    同步与异步接口
    教你用 WEB SPEECH API 和 node.js 创建 一个简单的AI
    face ++ 人脸识别技术初步
    php ddos 安全处理代码
    基于GBT28181:SIP协议组件开发-----------第五篇SIP注册流程eXosip2实现(二)
    基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)
    基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现
    基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理
    基于GBT28181:SIP协议组件开发-----------第一篇环境搭建
    qt二维码示例
  • 原文地址:https://www.cnblogs.com/aishangtaxuefeihong/p/6580630.html
Copyright © 2011-2022 走看看