除了使用XML配置来映射对象和数据库表,还可以使用注解来完成持久化。使用注解需要导入Hibernate Annotations扩展包

@Entity -加在类的前面,将类声明为持久化类。

-javax.Persistence.Entity :JPA的Entity,通用性好

-org.hibernate.annotations.Entity :Hibernate的Entity,有Hibernate特有的功能,如dynamicUpdate, 可以作为JPAEntity的补充

@Table -加在类的前面,为类声明关联的表名。如果表名和类名相同,可以省略。

@Table(name="t_name")

@Proxy -加在类的前面,修改类级的引索策略,默认是延迟加载 可以不写

@Proxy(lazy=false) -改为立即加载

@Column -

如果属性名和对应的列名不同, 或者get/set方法对应的属性名不是列名, 需要加在属性前面,或者加在get/set方法前面。

@ID

加在主键的属性前面,或者加在get/set方法前面,补充属性:

  @GeneratedValue -主键自增策略

@GeneratedValue(Strategy=GenerationType.Auto)

自定义SEQUENCE(ORALCE使用)

@GeneratedValue(Strategy=GenerationType.Sequence, generator="seq_name")

             @SequenceGenerator(name="seq_name", sequenceName="SEQ_ID")//可以对序列生成的值进行调整

@Transcient -加在属性前面,声明该属性不需要被持久化

@ManyToOne-多对一(外键)关联属性

@ManyToOne(targetEntity=class_name.class)

@JoinColumn(name="c_name") 多对一对应的外键列名

@OneToMany -一对多关联属性

@OneToMany(targetEntity=class_name.class,mappedBy="property_name",cascade={CascadeType.ALL})

如果Set没有加泛型,需要加targetEntity mappedBy是targetEntity中相关联的属性,并由它来维持外键关系

@ManyToMany -多对多

Hibernate - 使用注解完成映射的更多相关文章

  1. hibernate用注解替代映射文件

    1.首先把原来的映射文件删掉,给实体类添加注解: @Entity //声明当前类为hibernate映射到数据库中的实体类 @Table(name="news") //声明tabl ...

  2. hibernate基于注解实现映射关系的配置

    关联关系的配置步骤 ①要理清楚管理关系 ②确定管理依赖关系的哪一方 1一对一例如:person 和IdCard ①确定依赖关系:一对一 ②依赖关系由person类管理代码如下: person: @En ...

  3. Hibernate注解----关联映射注解以及课程总结详解----图片版本

    上一篇,记录了Hibernate注解----类级别注解以及属性注解详解 ,我们这一节主要讲解的是Hibernate注解----关联映射注解以及课程总结详解. 本节的主要内容: 第3章 关联映射注解 3 ...

  4. Hibernate基于注解方式配置来实现实体和数据库之间存在某种映射关系

    实体和数据库之间存在某种映射关系,hibernate根据这种映射关系完成数据的存取.在程序中这种映射关系由映射文件(*.hbm.xml)或者java注解(@)定义. 本文以java注解的形式总结映射关 ...

  5. hibernate annotation注解方式来处理映射关系

    在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...

  6. Java、Hibernate(JPA)注解大全

    1.@Entity(name=”EntityName”) 必须,name为可选,对应数据库中一的个表 2.@Table(name=””,catalog=””,schema=””) 可选,通常和@Ent ...

  7. 批量产生ssh2项目中hibernate带注解的pojo类的快捷方法

    近几个月一直在忙于项目组的ios应用项目的开发,没有太多时间去研究web应用方面的问题了.刚好,昨天有网友问到如何批量产生hibernate带注解的pojo类的快捷方法,所谓批量就是指将当前数据库中所 ...

  8. HIbernate学习笔记(七) hibernate中的集合映射和继承映射

    九.       集合映射 1. Set 2. List a)        @OrderBy 注意:List与Set注解是一样的,就是把Set更改为List就可以了 private List< ...

  9. Hibernate的注解方法的使用

    1.配置映射关系的xml方式 我们知道,Hibernate是一个典型的ORM框架,用以解决对象和关系的不匹配.其思想就是将关系数据库中表的记录映射成为对象,以对象形式展现,这样一来,就可以把对数据库的 ...

随机推荐

  1. 【HTML】Advanced7:HTML5 Forms Pt. 2: Attributes and Data Lists

    1.<label for"" ></label> <input type="email" placeholder=" & ...

  2. 【暑假】[深入动态规划]UVa 10618 Fun Game

    UVa 10618 Fun Game 题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36035 思路:   一圈人围坐 ...

  3. Docker系列(八)Kubernetes介绍

    Kubernetes组件功能图   各组件说明: 节点 节点在Kubernetes由虚拟机或者实体机表示,常称为Minion,即从属主机.当一个节点加入到Kubernetes系统中时,它将会创建一个数 ...

  4. 关于硬盘和几种RAID

    1 硬盘的基本工作原理 1.1 硬盘部件结构图 1.2 主要参数术语解释 磁头:在与硬盘交换数据的过程 中,读操作远远快于写操作,硬盘厂商开发一种读/写分离磁头. 转速(Rotationl Speed ...

  5. 怎么创建MongoDB数据库

    MongoDB didn’t provides any command to create “database“. Actually, you don’t need to create it manu ...

  6. ubuntu 13.04下sublime text 3使用中文输入法

    主要思路参考 http://blog.yanwen.org/archives/1955.html libsublime-imfix.so 这个库自己编译和从他这下载的 md5一样.可以不用编译了.直接 ...

  7. hbase运行模式

    Hbase有两种运行模式:standalone和distributed.standalone模式参见Quick Start Guide.以distributed模式设置Hbase,需要编辑Hbase ...

  8. HDU 3488--Tour(KM or 费用流)

    因为每个点只能经过一次 所以考虑拆点 这题有坑,有重边.. KM算法 把一个点拆成入点和出点 入点在X部,出点在Y步. 如果u,v之间有路径,就在X部的u点连接Y部的v点 求完美匹配. 当完美匹配的时 ...

  9. Java网络编程(URL&URLConnection)

    package cn.itcast.net.p2.ie_server; import java.io.IOException; import java.io.InputStream; import j ...

  10. runtime详解2

    Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...