Hibernate学习之Hibernate注解总结

简介: Hibernate学习之Hibernate注解总结 一、类级别的注解 @Entity name:表的名字(可选)一般表名和类名相同 必须指定主键属性@Id @Table name:映射表的名称(可选) catalog:目录(可选)默认为空 schema:模式(可选)默认为空 与@Entity注解配合使用,只能表示在实体类class定义处,表示实体类对应数据库表的信息 @Embeddable 表示一个非Entity类,不是一个实体类,可以嵌入到实体类中作为一个属性存在。

Hibernate学习之Hibernate注解总结

一、类级别的注解

@Entity

name:表的名字(可选)一般表名和类名相同

必须指定主键属性@Id

@Table

name:映射表的名称(可选)

catalog:目录(可选)默认为空

schema:模式(可选)默认为空

与@Entity注解配合使用,只能表示在实体类class定义处,表示实体类对应数据库表的信息

@Embeddable

表示一个非Entity类,不是一个实体类,可以嵌入到实体类中作为一个属性存在。不映射成表

二、方法级别的注解

@Id

表示映射为主键属性,可以位于主键属性或者其get方法前

如果一个实体类定义多个主键属性,则必须实现serializable接口

如果有string类型的主键,长度不能太长,需要用@column注解指定长度

@SequenceGenerator

@GeneratedValue

(可选)用于指定主键生成策略

strategy:表示主键生成策略,

取值有:

GenerationType.AUTO(默认,根据数据库底层自动选择,主键是字符串则不能指定为auto)

GenerationType.INDENTITY(根据数据库identity字段生成)

GenerationType.SEQUENCE(序列。使用squence来决定主键的取值)

GenerationType.TABLE(使用指定表来决定主键生成策略 与@TableGenerator使用)

generator:生成器

字符串的主键手动赋值

@Id

@GeneratedValue(generator="sid")

@GenericGenerator(name="sid",strategy="assigned")

 

@Column

将属性映射到列

@Embedded

表示该属性是某个嵌入类对象,嵌入类要标注@Embedable注解

@EmbededId

使用嵌入式主键类实现复合主键

嵌入式主键类必须是爱心serializable接口,必须有默认的public无参构造方法,必须覆盖equals和hashCode方法

@Lob

@Version

@Basic

@Transient

(可选) 表示该属性并非一个到数据库的字段的映射,如果不加这个注解就会映射到数据库字段并且ORM默认为其添加@Basic

三、关系映射级别的注解

1、一对一单项外键关联

@OneToOne(cascade=CascadeType.ALL)

@JoinColumn(name=””,unique=true)

先保存外键对象,再保存主表对象

主表:

关联表:

2、一对一双向外键关联

主表:

被控方:

3、一对一双向外键联合主键

4、多对一单向外键

@ManyToOne(cascade={cascadeType.ALL},fetch=FetchType.EAGER)

@JoinColumn(name=””,referencedColumn=””)

一方:

多方:

在多方添加一方。

5、一对多单向外键

@OneToMany(cascade={cascadeType.ALL},fetch=FetchType.LAZY)

@JoinColumn(name=””)

一方:

多方:

在一方添加多方

6、一对多双向外键

一方:

多方:

7、多对多单向外键

其中一个多方:

8、多对多双向外键

其中一个多方:

另一个多方:

原文地址http://www.bieryun.com/3269.html

相关文章
|
7月前
|
Java 数据库连接
hibernate注解实体类(Dept.java)
hibernate注解实体类(Dept.java)
|
4月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
132 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
4月前
|
数据库 开发者 Java
Hibernate映射注解的魔力:实体类配置的革命,让你的代码量瞬间蒸发!
【8月更文挑战第31天】Hibernate 是一款出色的对象关系映射框架,简化了 Java 应用与数据库的交互。其映射注解让实体类配置变得直观简洁。本文深入剖析核心概念与使用技巧,通过示例展示如何简化配置。
58 0
|
6月前
|
JSON Java 数据库连接
Hibernate中使用@Lob 注解保存String[] 问题
Hibernate中使用@Lob 注解保存String[] 问题
39 2
|
7月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(Emp.hbm.xml)
Hibernate中使用Criteria查询及注解——(Emp.hbm.xml)
|
7月前
|
Java 数据库连接
hibernate注解实体类(Emp.java)
hibernate注解实体类(Emp.java)
|
7月前
|
Java 数据库连接
hibernate注解的测试
hibernate注解的测试
|
7月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——( EmpCondition)
Hibernate中使用Criteria查询及注解——( EmpCondition)
|
7月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(DeptTest.java)
Hibernate中使用Criteria查询及注解——(DeptTest.java)
|
7月前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(Emp.java)
Hibernate中使用Criteria查询及注解——(Emp.java)