hibernate注解

本文详细介绍了在ORM框架中常用的实体类与属性映射注解,包括@Entity、@Table、@Emabeddable等类注解,以及@Id、@Column、@GeneratedValue等属性注解的使用方法和参数说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类注解
@Entity 映射实体类
name:指定数据库中的表名,一般类名和表名相同


@Table 定义数据表的信息
name:表名
catalog:表目录
schema:模式
catalog和schema主要解决数据库命名冲突问题


@Emabeddable 自定义类型并非实体的数据表,可嵌入到其他实体类中
但在hibernate创建表的时候会自定义类的属性放到实体类中创建
使用是只需在类头标注即可


属性注解
@Id 定义主键 一个实体类可以有一个或者多个这样的注解
如果定义多个主键属性,就必须继承serializable接口


@Column 字段注解
name:字段名称
length:字段长度
nullable:是否允许为空
unique:是否是唯一值
insertable:该字段是否可以出现在insert语句中
updateable:字段是否可以更新


@GeneratedValue 主键生成策略
strategy:主键生成策略 
AUTO:根据底层数据库进行选择主键生成的策略(默认)
INDENTITY:根据数据库的indentity字段生成
SEQUENCE:使用Sequence来决定主键的取值
TABLE:指定表来生成主键的生成策略,还需结合@TableGenerator使用
generator:指定生成策略构造器,绑定一个@GenericGenerator


@GenericGenerator() 主键生成构造器
name:主键生成构造器的名称,用于与@GenerateValue的generator的值绑定
strategy:生成策略 待补充


@Embeded 属性为嵌入类型


@EmbededId 自定义符合主键id
当@embeded中定义的是两个主键的时候使用


@Transient 定义属性不会被orm框架映射到数据表中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值