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有七种映射 ...
随机推荐
- Python的__init__.py用法
python中包的引入,对于大型项目中都会使用到这个功能,把实现不同功能的python文件放在一起,组成不同lib库,然后在其他地方调用. 包,python源文件+__init__.py 模块,pyt ...
- Python中文
在python中有两种默认的字符串:str和unicode.在Python中一定要注意区分"Unicode字符串"和"Unicode对象"的区别. 后面所有的& ...
- JAVA提高十三:Hashtable&Properties深入分析
最近因为一些琐碎的事情,导致一直没时间写博客,正好今天需求开发完的早,所以趁早写下本文,本文主要学习的是Hashtable的分析,因为上面一篇文章研究的是HashMap,而Hashtable和Hash ...
- Redis 图形化监控方案 RedisLive 介绍
作为一款开源的 Redis 图形化监控工具,RedisLive 提供对 Redis 实例的内存使用情况,接收的客户端命令,接收的请求数量以及键进行监控.RedisLive 的工作原理基于 Redis ...
- 《阿里巴巴Java工作手册》学习笔记
最近浏览了一下阿里巴巴的Java开发手册,感觉内容确实非常的赞,发现了不少自己在编程中的误区,因此决定通过成文牢固掌握,文中将选取个人认为比较重要的部分进行描述与分析."愿站在巨人的肩膀上, ...
- PHP操作MySQL数据库之天龙八部 -- 七贱下天山 -- 六脉神剑
天龙八部 八步操作数据库 七贱下天山 七步操作数据库 (将判断错误省略) 六脉神剑 六步操作数据库(将判断错误省略,将选择数据库添加到第一步 ...
- 理解HTTP幂等性(转)
基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式.无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API.为什么Web API如此流 ...
- php 7.2 一些注意事项.
<?php $b = array(); each($b); // Deprecated: The each() function is deprecated. This message will ...
- Android 异步消息处理机制终结篇 :深入理解 Looper、Handler、Message、MessageQueue四者关系
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.概述 我们知道更新UI操作我们需要在UI线程中操作,如果在子线程中更新UI会发生异常可能导致崩溃,但是在UI线程中进行耗时操作又会导致ANR,这 ...
- UWP 使用OneDrive云存储2.x api(一)【全网首发】
最近开发人脸识别UWP[微识别 / Werecognition]用到了OneDrive开发,下面把来龙去脉讲一下. 下载地址 https://www.microsoft.com/store/produ ...