- 浏览: 20274 次
- 性别:
- 来自: 青岛
文章分类
最新评论
1. Hibernate Annotation关系映射有下面几种类型:
1)一对一外键关联映射(单向)
2)一对一外键关联映射(双向)
3)一对一主键关联映射(不重要)在这不演示
在实际中很少用,使用注解@PrimaryKeyJoinColumn
意思是说,我的主键去参考另外一张表中的主键,作为我的主键,但是在我测试使用
注解一对一主键关联映射,在生成表的时候,数据库中并没有生成关联,使用XML
映射可以生成。Annotation注解一对一主键关联映,有些bug。不过没空去研究它。
因为在实际开发中一对一很少用。在实际开发中我机会没有用过,主键关联就更少了
4)多对一关联映射
5)一对多关联映射(单向)
6)一对多关联映射(双向)
7)多对多关联映射(单向)
8)多对多关联映射(双向)
2.介绍各种映射用法
1)一对一外键关联映射(单向)
2)一对一外键关联映射(双向)
4)多对一关联映射
在多的一端配置:
5)一对多关联映射(单向)
6)一对多关联映射(双向)
一端:
多端:
7)多对多关联映射(单向)
8)多对多关联映射(双向) User端
Role端
1)一对一外键关联映射(单向)
2)一对一外键关联映射(双向)
3)一对一主键关联映射(不重要)在这不演示
在实际中很少用,使用注解@PrimaryKeyJoinColumn
意思是说,我的主键去参考另外一张表中的主键,作为我的主键,但是在我测试使用
注解一对一主键关联映射,在生成表的时候,数据库中并没有生成关联,使用XML
映射可以生成。Annotation注解一对一主键关联映,有些bug。不过没空去研究它。
因为在实际开发中一对一很少用。在实际开发中我机会没有用过,主键关联就更少了
4)多对一关联映射
5)一对多关联映射(单向)
6)一对多关联映射(双向)
7)多对多关联映射(单向)
8)多对多关联映射(双向)
2.介绍各种映射用法
1)一对一外键关联映射(单向)
@OneToOne(cascade=CascadeType.ALL) @JoinColumn(name="userid",unique=true) //一对一外键关联,使用@OneToOne,并设置了级联操作 //@JoinColum设置了外键的名称为userid(数据库字段名),如果不设置,则默认为另一类的属性名+ _id //外键的值是唯一的(unique),不可重复,与另一类的主键一直
2)一对一外键关联映射(双向)
Class1里与上面一样, Class2: @OneToOne(mappedBy="class2",cascade=CascadeType.ALL) //一对一双向关联关系,使用@OneToOne //注意:需要加上mappedBy="class2",如果不加上的话, //Class2也会生成一个外键(class1_id) //mappedby="class2"需要指向与他关联对象的一个属性 //说明双向关联关系中,有且仅有一端是作为主体(owner)端存在的 //主体端负责维护联接列 //对于不需要维护这种关系的从表则通过mappedBy属性进行声明 //mappedBy的值指向主体的关联属性 //规律:只有是双向关联关系,都加上mappedby //cascade=CascadeType.ALL级联
4)多对一关联映射
在多的一端配置:
@ManyToOne(targetEntity=Organization.class) @JoinColumn(name="orgid") //多对一注解@ManyToOne //targetEntity指定了关联对象 //@JoinColumn(name="orgid")指定生产的外键的字段名,默认是org_id
5)一对多关联映射(单向)
@OneToMany @JoinColumn(name="orgid") /** * 一对多注解@OneToMany(单向) * 如果只写@OneToMany的话,hibernate会建一张中间表来 * 维护他们之间的关系, * 加上@JoinColumn(name="orgid"),则不会建中间表,他会在 * 多的一端加上外键orgid,来维护他们之间的关系 */
6)一对多关联映射(双向)
一端:
@OneToMany(mappedBy="org") @JoinColumn(name="orgid") /** * 一对多双向,在一的一端中设置mappedBy * 说明多的一端为主导 * 如果指定了外键字段名称,则多的一端也需要指定相同的字段名称 */
多端:
@ManyToOne @JoinColumn(name="orgid") /** * 一对多双向 * 需要指定外键与一的一端给的外键名称一致,@JoinColumn(name="orgid") * 也可以不指定,如果在多的一端不指定,则一的一端也不能指定 * 否则为生成两个外键 */
7)多对多关联映射(单向)
@ManyToMany /** * 多对多映射:注解@ManyToMany(单向) * 默认情况下,hibernate会自动的创建一张中间表, * 来维护多对多关系 * 默认中间表的名称 :user_role中间表,字段的名称user_id role_id * 如果想更换表名和字段名称,注解如下: */ @JoinTable(name="t_u_r", joinColumns={@JoinColumn(name="u_id")}, inverseJoinColumns={@JoinColumn(name="r_id")} )
8)多对多关联映射(双向) User端
@ManyToMany /** * 多对多映射:注解@ManyToMany(单向) * 默认情况下,hibernate会自动的创建一张中间表, * 来维护多对多关系 * 默认中间表的名称 :user_role中间表,字段的名称user_id role_id * 如果想更换表名和字段名称,注解如下: */ @JoinTable(name="t_u_r", joinColumns={@JoinColumn(name="u_id")}, inverseJoinColumns={@JoinColumn(name="r_id")} ) /** * @JoinTable(name="t_u_r", * 指定中间表的表名 * joinColumns={@JoinColumn(name="u_id")}, * 指定当前对象的外键 * inverseJoinColumns={@JoinColumn(name="r_id")} * 指定关联对象的外键 */
Role端
@ManyToMany(mappedBy="role") /** * 多对多,双向关联映射 */
发表评论
文章已被作者锁定,不允许评论。
-
Sping定时器Quarz
2013-04-08 18:04 699Spring定时器 <?xml version=& ... -
Java Jaxb
2013-04-08 17:56 607JAXB java对象与xml转化 import j ... -
Xifre超时机制
2013-03-27 16:55 687URL _url = new URL("http ... -
Java二维码
2013-01-13 14:37 919二维码的特点: 1. 高密度编码,信息容量大 可容纳 ... -
ActiveMQ5.5安全配置
2013-01-13 13:51 494JMS服务安全配置(生产者和消息者连接时认证) 简单授权方 ... -
jquery的each()详细介绍
2013-01-11 21:34 499jquery的each()详细介绍 each()方法能使DO ... -
js注意事项
2013-01-08 14:16 5521.传统的HTML文档顺序是: ... -
java中instanceof用法
2013-01-06 18:18 759java 中的instanceof 运算符是用来在运行时指出对 ... -
常见DB的 驱动类名 和 URL
2013-01-06 17:22 761MySQL: com.mysql.jdbc.Driver ... -
spring security应用
2013-01-03 14:49 0一、配置文件 <?xml version="1 ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-01-03 12:03 0Ehcache在很多项目中都出现过,用法也比较简单。一般的加些 ... -
StringUtils的isBlank与isEmply
2013-01-03 11:59 10911. public static boolean isEmpt ... -
SQL中如何为表添加外键约束
2013-01-02 18:11 1069定义格式 [CONSTRAINT <约束名>][ ... -
java中Long类型数据必须转化为int才能正确比较
2013-01-02 18:08 2135java中如果有Long类型数据需要比较判断时, 必须转化 ... -
如何使用JPA注解标注一对一的关系
2013-01-02 00:08 1372假设应用场景如下:Node与PageServer是一对一的关系 ... -
struts2 中的 addActionError 、addFieldError、addActionMessage的方法
2013-01-01 18:07 870一、 addActionError("错误内容&qu ... -
java使用xfire创建和调用webservices
2013-01-01 10:55 6401.创建工程 File->New->Web S ... -
Spring 2.5.6新特性之packagesToScan
2012-12-28 17:11 763如果你使用早前版本的Spring,又恰好采用了Annotati ... -
Hibernate+spring缓存机制配置
2012-12-28 16:59 681在applicationContext.xml文件中添加以下代 ... -
Spring的PropertyPlaceholderConfigurer
2012-12-28 16:50 6231. PropertyPlaceholderConfigure ...
相关推荐
现在我们公司在做web项目的时候,已经不用*.hbm.xml这种映射文件了,都是用Annotation(注解)方式来完成实体与表之间的映射关系,这样看起来比用xml文件来映射更具有可读性,自我感觉以后Hibernate Annotation的...
### Hibernate Annotation注解编程知识点详解 #### 一、概述与设置环境 - **概述**:Hibernate 是一个流行的 Java 持久层框架,它提供了一种面向对象的方式来处理数据库操作。Hibernate 支持多种元数据定义方式,...
1. **注解替代XML映射**:在Hibernate 3.2及更高版本中,引入了Annotation支持,开发者可以直接在Java实体类上使用注解来定义持久化字段和关系,不再需要创建单独的`.hbm.xml`映射文件。 2. **依赖**:使用...
在Java开发领域,Hibernate作为一种强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本篇将深入探讨Hibernate 3版本中的注解使用,帮助开发者理解如何利用注解进行数据持久化,提高开发效率。 一、...
在Hibernate中,注解(Annotation)是一种声明式的方法,用于配置实体类、属性以及它们与数据库表之间的映射关系。本文将深入探讨“最全的Hibernate Annotation API文档”中的关键知识点。 一、实体类(Entity) 在...
《Hibernate Annotation 中文文档》是Java开发者们的重要参考资料,它详细介绍了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是一款强大的开源Java持久化框架,它简化了数据库与Java对象之间的...
Hibernate Annotation库是Java开发中用于简化对象关系映射(ORM)的一个重要组件,它使得开发者能够在Java类上直接使用注解来定义数据库映射,从而避免了传统的XML配置文件。这三个特定的jar包是Hibernate ORM框架中...
Hibernate Annotation是Hibernate框架的一个扩展,它允许开发者直接在Java类和属性上使用注解(Annotations),来定义实体类与数据库表之间的映射关系。相比于XML配置,注解提供了一种更加内聚和直接的方式,使得...
Hibernate支持两种主要的映射方式:XML映射文件和注解映射。然而,默认情况下,一个项目只能选择其中一种方式进行配置。但有时候,根据项目需求,可能需要同时使用XML和注解映射。在这种情况下,我们需要进行一些...
而Hibernate Annotation则是Hibernate提供的一种基于注解的实体映射方式,它极大地简化了传统XML配置文件的繁琐工作,使得开发过程更加简洁高效。本文将通过一个实际操作的实例,逐步介绍Hibernate Annotation的基础...
在Hibernate 3.x版本中,引入了Annotation注解,这是一种元数据的方式,可以替代XML配置文件来描述对象与数据库表之间的映射关系。 **Hibernate Annotation注解** 在Hibernate 3.x之前,对象到数据库的映射通常...
而Hibernate Annotation是Hibernate的一个重要特性,它通过在Java类和字段上添加注解来简化数据库表和实体类之间的映射配置。这篇博文将带你了解如何使用Hibernate Annotation进行开发。 首先,我们需要理解Java...
Hibernate Annotation API是Hibernate ORM的一种扩展,允许开发者使用Java注解(Annotations)来定义对象-关系映射。这种API避免了传统的Hibernate XML配置文件,使得ORM配置更加内聚且易于维护。 2. **核心注解**...
2. **映射机制**: Hibernate支持XML映射文件(hbm.xml)和注解映射两种方式,让对象与数据库表之间建立映射关系。 3. **Session和Transaction**: Session是Hibernate的主要工作单元,负责保存、更新和检索对象。...
总结来说,这个 "Spring Hibernate Annotation demo" 展示了如何在 Spring 框架中使用注解配置来管理依赖,以及如何利用 Hibernate 的注解进行数据持久化。同时,它还涉及到了 Flex 前端与后端的交互。通过学习这个 ...
在传统的Hibernate应用中,我们通常使用XML文件来描述对象和表之间的映射关系。然而,随着Java 5的发布,注解成为了一种更简洁、更直观的元数据表示方式。Hibernate注解就是利用这种方式,将对象的映射信息直接写在...
其中,HibernateAnnotation技术是指在Java类上使用注解来替代传统的XML配置文件,这不仅简化了配置过程,还提高了代码的可读性和维护性。 ### 核心知识点详解 #### 1. `@Entity` 注解 `@Entity` 是用于标记一个...
总之,“Hibernate 3.3 Annotation JAR”是Hibernate ORM框架的一个重要组成部分,它通过引入Java注解,使得开发人员能更方便地进行对象关系映射,提高了开发效率并降低了项目的维护成本。而文件“user1”则可能是一...
Hibernate4注解是一种在Java对象模型中直接使用注解来配置持久化层的技术,与传统的XML配置文件方法相比,这种方式提供了更加简洁和直观的配置方式。Hibernate4注解主要依赖于Hibernate Annotation库,支持EJB3持久...