首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hibernate注解大全

@Entity(name="")

必须,作为实体使用.

name,可选,对应数据库中的一个表.

@Table(name="",catalog="',schema="")

可选,通常配合@Entity使用,职能标注在实体的Class定义外,表示实体对应的数据库表信息.

name:可选表示,表示表的名称.默认的情况下,表名和实体名称是一致的,只有不一致的情况下才需要指定表名.

catalog:可选,表示Catalog名称,默认是Catalog("").

schema:可选,表示Schema名称,默认为Schema("").

@Id

必须

id定义了映射到数据库的主键属性,一个实体只能有一个属性被映射为主键,放置于getXxx()前.

@GeneratedValue(strategy=generationType,generator="")

可选,strategy:表示主键生成策略,有AUTO,INDENTITY,SEQUENCE和TABLE四中,分别表示让ORM框架自动选择.

根据数据库的Identity字段生成,根据数据库表的Sequence字段生成,已有根据一个额外的表生成主键,默认AUTO

generator:表示主键生成器的名称,这个属性通常和ORM框架相关,Hibernate可以指定uuid等主键生成方式

示例:

@Basic(fetch=FetchType,optional=true)

可选,表示一个简单的属性到数据库表的字段的映射,对于任何没有标注getXxx()的方法,默认为@Basic

fetch:表示改属性的加载策略,有EAGER和LAZY两种,分别表示抓取和延迟加载,默认为EAGER.

optional:表示这个属性是否可以为null,默认为true.

@Column

可选,描述了数据库表中该字段的详细定义

name:表示数据库表中该字段的名称.

nullable:表示该字段是否允许为null,默认为true.

unique:表示该字段是否唯一表示,默认为false

length:表示该字段的长度.只对String有用

insertable:表示在ORM框架执行插入操作的时候,该字段是否出现INSERT语句中,默认为true

updateable:表示ORM框架执行更新操作时,该字段是否出现在UPDATE语句中,默认为true,对于一经创建就不可更改的字段,该字段非常有用,

columnDefinition:通常该字段在数据库中的实际类型,通常ORM框架可以根据属性类型自动判断数据库中字段的类型,但是对于Date类型仍无法确定数据库中字段是DATE,TIME还是DATETIME,此外,String的默认映射类型为VARCHAR,如果要将,String映射到BLOB或者TEXT字段这个属性非常有用

示例

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180716G1W3ZG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券