Hibernate--使用注解配置映射关系
写在前面:
配置实体类与数据库的映射关系,有两种方式:
1.使用*.hbm.xml ;
2.使用@注解
一:注解的方式:
1.@Entity
加在类的前面,将类声明为持久化类。
2.@Table
加在类的前面,为类声明关联的表名。如果表名和类名相同,可以省略。
eg:@Table(name="tbl_role")
3.@Proxy
加在类的前面,修改类级的引索策略,默认是延迟加载 可以不写
eg: @Proxy(lazy=false) //改为立即加载
4.@ID
加在主键的get/set方法前面前面,或者加在属性前面,补充属性:
@GeneratedValue -主键自增策略,
@GeneratedValue(Strategy=GenerationType.Auto),默认是Auto
一般与@GenericGenerator一起使用:
eg: @GenaratedValue(generator="native_name")
@GenericGenerator(name="native_name",strategy="native") //主键生成策略为native
注意generator的值跟name中的值一致
5.@Column
如果属性名和对应的数据库表列名不同, 或者get/set方法对应的属性名不是列名, 需要加在get/set方法前面,或者加在属性前面
eg:@Column(name = "RoleName")
关联关系:
===
6.@ManyToOne--------多对一(外键)关联关系
eg:@ManyToOne(targetEntity=class_name.class)
@JoinColumn(name="c_name") //多对一对应的数据库表中外键列名
7.@OneToMany --------一对多关联属性
eg: @OneToMany(targetEntity=class_name.class,mappedBy="property_name",cascade={CascadeType.ALL})
如果Set没有加泛型,需要加targetEntity mappedBy是多方中的外键名,并由它来维持外键关系
8.@ManyToMany -多对多
eg:@ManyToMany(targetEntity = Function.class)
@JoinTable(name = "role_function_r", joinColumns = @JoinColumn(name = "roleId"),inverseJoinColumns=@JoinColumn(name="functionId"))

图中(1)表示多对多关系的中间表的表名,(2)表示中间表与本实体类表的外键关系,(3)表示中间表与另一个张表的外键关系
===
9.@Transcient
加在get/set方法前面,或者加在属性前面,声明该属性不需要被持久化
Hibernate--使用注解配置映射关系的更多相关文章
- hibernate基于注解实现映射关系的配置
关联关系的配置步骤 ①要理清楚管理关系 ②确定管理依赖关系的哪一方 1一对一例如:person 和IdCard ①确定依赖关系:一对一 ②依赖关系由person类管理代码如下: person: @En ...
- Hibernate中的一对一映射关系
Hibernate中的一对一映射关系有两种实现方法(单向一对一,和双向一对一)(一对一关系:例如一个department只能有一个manager) 单向和双向有什么区别呢??例如若是单向一对一,比如在 ...
- Hibernate中用注解配置一对多双向关联和多对一单向关联
Hibernate中用注解配置一对多双向关联和多对一单向关联 Hibernate提供了Hibernate Annotations扩展包,使用注解完成映射.在Hibernate3.3之前,需单独下载注解 ...
- C# 数据操作系列 - 6 EF Core 配置映射关系
0. 前言 在<C# 数据操作系列 - 5. EF Core 入门>篇中,我们简单的通过两个类演示了一下EF增删改查等功能.细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端 ...
- Hibernate入门3.配置映射文件深入
Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...
- 第二节:创建模型,使用Code First,配置映射关系
这一节,实现模型的创建,配置映射关系 使用Code First数据迁移. 创建模型 一,首先创建几个接口:实体接口,聚合根接口,值对象接口 1,实体接口: 2,聚合根接口: 3,值对象接口: 二,模型 ...
- Hibernate--使用xml配置映射关系
写在前面: 配置实体类与数据库的映射关系,有两种方式: 1.使用*.hbm.xml 2.使用@注解 二:xml的配置方式: eg:员工的xml配置文件: <?xml version=" ...
- SSH框架之Hibernate(1)——映射关系
ORM的实现思想就是将关系数据库中表的数据映射成对象.以对象的形式展现,这样开发者就能够把对数据库的操作转化为对这些对象的操作.Hibernate正是实现了这样的思想,达到了方便开发者以面向对象的思想 ...
- Hibernate的七种映射关系之基本映射
说到关系,在这个世界无处不在,我们必须以某个关系的节点存在在这个世界网中.比如父子关系,师生关系,上下属关系甚至是危险关系.数据也是一样的,它的存在必为某其他节点做准备. Hibernate有七种映射 ...
随机推荐
- APP后台API文档管理对接(APP后台框架五)
这一章还是总结点API管理工具,也大都是组件来的,关于spring-rest-doc 以为很不错,其实还是有点局限性的: 1,每一个接口文档,都要自己手动设置文档的展示: 2,每一个接口就独立一个文档 ...
- 1.Servlet介绍 和 HTTP协议简述
1. Servlet是什么? sun公司制订的一种用来扩展web服务器功能的组件规范. (1)扩展web服务器功能 注: 早期的web服务器只能处理静态资源的请求,即需要事先将 html文件准备好,并 ...
- 猪圈密码python脚本实现
CTF比赛中,MISC题型中有时候会考到一种一种叫做"猪圈密码"(Pigpen_chiper)的简单加密方式.网上有个表可以对照地来实现解密,但是实际中太慢不符合竞速思维,于是写一 ...
- kali 2017更新源
#阿里云deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliy ...
- ViewPager +无限轮播+滑动速度修改+指示小点
养成习惯,做过代码记录总结. ViewPager 使用记录 1. ViewPage 位于V4包. 2.主要用来做banner轮播. 3.原理:适配器重用提高效率,与listview等一个原理. 下面记 ...
- 《java.util.concurrent 包源码阅读》22 Fork/Join框架的初体验
JDK7引入了Fork/Join框架,所谓Fork/Join框架,个人解释:Fork分解任务成独立的子任务,用多线程去执行这些子任务,Join合并子任务的结果.这样就能使用多线程的方式来执行一个任务. ...
- SaltStack 安装介绍 01
一.入门指南 1.1 SALTSTACK是什么? The backbone of Salt is the remote execution engine, which creates a high-s ...
- openvpn技术实现客户端直接访问远程机器中docker内容器的实现与原理
传统开发中如果要从开发机中访问服务器中的docker中的服务可能可能需要如下方案: 利用docker run的-p属性直接映射端口到服务器中 优点:客户端直接访问服务器就可以访问到docker容器. ...
- jsp加java连接数据库,进行信息输入,并进行初步的拦截判断。
图形大概这样 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨子光五位教 ...
- 【java提高】---HashMap解析(一)
HashMap解析(一) 平时一直再用hashmap并没有稍微深入的去了解它,自己花点时间想往里面在深入一点,发现它比arraylist难理解很多,好多东西目前还不太能理解等以后自己知识更加丰富在过来 ...