`
Wind_ZhongGang
  • 浏览: 263697 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Hibernate unique使用

阅读更多

 

 

  在Hibernate中对于一对一的关联关系配置时,提倡在many-to-one配置元素中配置unique="true",以达到约束该外键只能在数据表中出现一次,从而实现一对一的关联关系配置,但在实践中却发现如果相应的建表语句中如果没有设置相应的唯一性外键,那么即使加上这样的配置也是不起任何作用的。以下是我在实践中进行实验的例子,以一个Student有且仅有一个IDCARD的一对一关联关系为例,下附两张图,一张为没有设置唯一性外键的建表语句,另一张为设置了唯一性外键的建表语句,即使我在配置文件中设置unique="true",在测试中也能顺利地插入两条具有相同外键的数据,所以在此得出,如果想要合理以及顺利地使用unique配置也需要结合数据表建表时设置相应的外键的唯一性。

  

  • 大小: 17.9 KB
  • 大小: 14.7 KB
分享到:
评论

相关推荐

    Hibernate使用外键ForeignKey

    在Java企业级开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它使得开发者可以使用面向对象的方式来处理数据库操作,而无需直接编写SQL语句。本篇将详细讲解如何在Hibernate中使用外键`ForeignKey`,...

    Hibernate 注解使用.docx

    ### Hibernate 注解使用详解 #### 一、概述 Hibernate 是一款流行的 Java 持久层框架,它提供了对象关系映射(ORM)的功能,能够帮助开发者轻松地将 Java 应用程序中的对象映射到数据库表及其字段。为了简化开发...

    Hibernate 与 Lucene 的整合框架详解

    通过使用 `@Entity`、`@Table` 和 `@Indexed` 注解,表明这是一个可以被 Hibernate 管理并能够被索引的对象。具体来说: - `@Indexed(index="indexes/employee")`: 指定该实体对应的 Lucene 索引名称。 - `@...

    Hibernate全部注解

    使用 Hibernate 可以极大地简化数据库访问代码的编写,并提高应用程序的开发效率。本文档将详细介绍 Hibernate 中的注解使用方法,这些注解主要用于配置对象与数据库之间的映射关系。 #### 二、核心注解介绍 #####...

    Hibernate4实战资料

    本文将深入探讨Hibernate4注解配置的相关知识点,包括@Entity、@Table、@Id、@GeneratedValue、@Column、@Version等核心注解的使用。 首先,我们来看@Entity注解,它是将一个普通的Java类声明为一个实体Bean,这个...

    hibernate 无主键表映射

    4. **使用Hibernate进行操作** 在Hibernate中,对无主键表的操作与普通实体基本相同,只是在保存和查询时需要传入整个复合主键对象。例如,创建一个新的订单: ```java OrderKey key = new OrderKey(); key....

    hibernate 4 注解详解

    Hibernate 4 是一款流行的Java持久化框架,它简化了与关系型数据库的交互。在这个文档中,我们将深入探讨 Hibernate 4 中的一些基本注解,这些...理解并熟练使用这些注解,对于掌握 Hibernate 4 的核心功能至关重要。

    hibernate源码

    Hibernate支持主键关联(Primary Key Join)和外键关联(Unique Foreign Key Join)两种方式。主键关联是通过两个实体共享同一主键来实现,而外键关联则是通过在一方或双方创建一个指向另一方的外键字段。 4. **...

    Hibernate中文API大全

    当删除对象时, Hibernate必须使用每一个字段的值来确定一条记录(在组合元素表中,没有单独的关键字段), 如果有为null的字段,这样做就不可能了。你必须作出一个选择,要么在组合元素中使用不能为空的属性,要么...

    hibernate主键生成策略详解

    如果不指定 `<param name="table">` 和 `<param name="column">`,则会使用默认的表名 `hibernate_unique_key` 和列名 `next_hi`。 **hilo** 算法生成主键的过程如下: 1. 获取 hi 值:读取并记录数据库中 `...

    Hibernate_实体类_注解_说明

    - **`@Column`**:提供了对数据库字段的详细配置能力,如`name`(字段名)、`nullable`(是否允许空值)、`unique`(是否唯一)、`length`(长度限制)、`insertable`与`updateable`(是否参与插入或更新操作)以及`...

    Hibernate一对多主键关联映射源代码

    在Hibernate中,我们通过配置XML映射文件或使用注解来实现这种关系。 在标题中的"一对多主键关联映射",意味着我们将使用主键作为关联的依据,而不是外键。这种方式通常用于两个实体类中,一个实体类的主键同时也是...

    hibernate注解说明文档

    - **hilo**:在数据库中建立一张额外的表,默认表名为`hibernate_unique_key`,字段为`next_hi`(比较少用)。 - **assigned**:在插入数据时主键由程序处理,这是默认生成策略,等同于JPA中的`AUTO`。 这些注解...

    Hibernate关联映射

    在 Hibernate 映射中,需要使用 `one-to-one` 元素,并设置 `constrained="true"`,表明该类的主键由关联类生成。 3. Hibernate 一对一连接表单向关联: 这种关联方式是通过额外的连接表来实现一对一关系的。连接...

    Hibernate注解API.pdf

    ### Hibernate注解API知识点概述 #### 一、Hibernate注解简介 ...通过以上内容的学习,可以对 Hibernate 注解有一个全面而深入的理解,为实际开发中使用 Hibernate 提供坚实的理论基础和技术支持。

    hibernate 关系注解

    Hibernate是一种流行的Java持久化框架,它允许开发人员将对象模型转换为关系数据库模型。在Hibernate中,关系注解用于在实体类中定义不同类型的数据库关系,如一对一、一对多、多对多等。以下是关于Hibernate关系...

    hibernate主键生成策略

    默认表名为`hibernate_unique_key`,列名为`next_hi`。主键生成通过以下步骤: - 获取Hi值:从数据库表中读取`next_hi`,加1后保存回表。 - 获取Lo值:在0到`max_lo`范围内循环取值。 - 通过公式`hi * (max_lo + ...

Global site tag (gtag.js) - Google Analytics