hibernate入门--hibernate常用注解

@Entity(name=”tableName”):注解声明该类是一个Hibernate实体类
@Table(name=”“,catalog=”“,schema=”“):指定该类的映射表。

按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,主要用来解决命名冲突问题。
从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、序列等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该数据库对象的完全限定名称从而解决命名冲突的问题了

@Id:用于指定该类的标识属性,也就是主键。一个实体只能有一个属性被映射为主键

@GeneratedValue(strategy=GenerationType,generator=”“):主键的生成策略

Strategy - 表示主键生成策略,取值有:

GenerationType.AUTO - 根据底层数据库自动选择(默认),若数据库支持自动增长类型,则为自动增长。
GenerationType.INDENTITY -根据数据库的Identity字段生成,支持DB2、MySQL、MS、SQLServer、SyBase与HyperanoicSQL数据库的Identity类型主键。
GenerationType.SEQUENCE - 使用Sequence来决定主键的取值,适合Oracle、DB2等 支持Sequence的数据库,一般结合@SequenceGenerator使用。(Oracle没有自动增长类型,只能用Sequence)
GenerationType.TABLE - 使用指定表来决定主键取值,结合@TableGenerator使用。

@Column - 可将属性映射到列,使用该注解来覆盖默认值,@Column描述了数据库表中,该字段的详细定义,这对于根据 JPA 注解生成数据库表结构的工具非常有作用。

属性:

name - 可选,表示数据库表中该字段的名称,默认情形属性名称一致

nullable -可选,表示该字段是否允许为 null,默认为true

unique - 可选,表示该字段是否是唯一标识,默认为 false

length - 可选,表示该字段的大小,仅对 String 类型的字段有效,默认值255.

insertable -可选,表示在ORM框架执行插入操作时,该字段是否应出现INSETRT语句中,默认为 true

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29924227/article/details/79973565
文章标签: hibernate 数据库
个人分类: javaweb
上一篇hibernate入门--hibernate的基本开发步骤(配置文件编写,hibernate api调用)
下一篇javaweb--frameset遇到的问题:跳出frameset
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭