Hibernate常用注解
来源:互联网 发布:qq怎么设置mac在线 编辑:程序博客网 时间:2024/09/21 08:19
简单介绍一下关于Hibernate中那些常用的注解
@Entity@Table(name = "student", catalog = "test")public class Student {}
实体类注解:@Entity实体类映射到数据库表
@Table(),name表示表名,catalog表示数据库名称
@Id@GeneratedValuepublic Integer getId() {return id;}Id标示:@Id
列自增:@GeneratedValue这个id的主键生成策略有很多种,这里就不详细介绍了
这两个注解都是一般成对使用
@Column(name = "stu_name", length = 20)public String getStuName() {return stuName;}数据库表字段列映射到实体类属性@Column
name:可选,列名(默认值是属性名)
length:可选,列长度(默认值255)
unique:可选,是否在该列上设置唯一约束(默认值false)
nullable:可选,是否设置该列的值可以为空(默认值false)
这些是比较常用的
@Transientpublic int getAge() {return age;}
@Transient表示该属性不与数据库表中字段做映射,当我们想自定义一个变量的可以使用。
一对一映射:@OneToOne
一对多映射:@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "Class")
多对一映射:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "class_id")
这两个注解一般成对使用
多对多映射:@ManyToMany
cascade表示级联操作方式:
CascadeType.REFRESH:级联刷新,当多个用户同时作操作一个实体,为了用户取到的数据是实时的,在用实体中的数据之前就可以调用一下refresh()方法
CascadeType.REMOVE:级联删除
CascadeType.MERGE:级联更新
CascadeType.ALL:包含以上所有级联属性。
fetch表示加载方式:
FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载
FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载
mappedBy可以理解为:拥有方能够自动维护跟被拥有方的关系,一般定义在主表
2 0
- hibernate常用注解
- hibernate 常用注解
- hibernate 常用注解
- Hibernate一些常用注解
- Hibernate常用注解
- Hibernate常用注解
- Hibernate常用注解
- Hibernate常用注解标记
- Hibernate常用注解
- Hibernate 常用注解释义
- hibernate常用注解总结
- hibernate常用注解
- hibernate 常用注解
- hibernate常用注解
- Hibernate常用注解
- Hibernate常用注解
- Hibernate Search常用注解总结
- Hibernate Search 的常用注解
- C++学习笔记——typedef的用法
- 位于包中的servlet的部署
- MySql集群环境搭建(windows平台)
- TCP_UDP常见端口参考
- 为什么Mac每次启动终端会提示:-bash: alias: -G’: not found?
- Hibernate常用注解
- 一种基于HVS特性的视频质量评测方法
- MyBatis动态SQL语句
- 解析虚拟VMware三种网络模式根本区别
- 关于getline()的实验 getline()会读取留缓存区的换行符导致直接换行
- jsp 中 request.getHeader() 相关详细
- Python 设计模式系列之二: 创建型 Simple Factory 模式
- 酷炫简历(前端)
- 在linux上部署tomcat服务