`

hibernate多字段组合唯一性约束

阅读更多

http://www.boolean.cn/read.php?363

 

在单一字段的唯一性约束时,我们可以在映射文件里配置property属性的unique="true"来达到目的,但多字段的唯一性约束怎样处理呢?如 果使用复合主键可以很简单地解决这个问题,但如果不希望使用composite-id映射,则可以使用property元素里的unique-key属性 来达到此目的。

 

unique_key_id只是保证了几个相关的字段共用一个unique-key而已,只要这组字段使用相同的unique-key即可。

 

   1. <property name="id" column="`id`"  type="string" not-null="true" unique-key="unique_key_id"/>  
   2.     <property name="name" column="`name`"  type="string" not-null="true" unique-key="unique_key_id"/>  
 
分享到:
评论
1 楼 ywen1012 2011-10-08  

相关推荐

    struts2,hibernate,spring约束

    在Hibernate中,"约束"主要体现在实体类的属性上,如实体的字段可以设置非空约束、唯一性约束、外键约束等。这些约束可以在Hibernate的配置文件(hbm.xml)中定义,也可以通过注解的方式直接写在实体类的属性上。...

    hibernate一对一唯一外键关联映射(单项关联)

    由于是唯一外键,`person_id`字段应设置为主键或者具有唯一性约束。 4. **操作关联对象**: 在程序中,我们可以创建一个Person对象,然后给它赋一个Address对象,最后通过SessionFactory的save或update方法保存到...

    Hibernate 多对多关联

    3. **数据完整性约束**:可能违反了数据库层面的约束,如唯一性约束、非空约束等。在添加关联时,确保所有必要的字段都已正确设置。 4. **事务管理**:Hibernate操作通常需要在事务内进行,确保你的代码正确地启用了...

    java中设置登录名的唯一性

    2. Java持久层框架:如果你使用了像Hibernate或MyBatis这样的Java持久层框架,它们都可以方便地处理数据库的唯一性约束。例如,在Hibernate中,你可以通过在User实体类的loginName属性上添加`@Column(unique = true)...

    hibernate 无主键表映射

    在无主键表映射的情况下,数据库中的表应该没有明确的`PRIMARY KEY`约束,而是依赖于复合主键字段的唯一性。例如: ```sql CREATE TABLE Orders ( customerId VARCHAR(255) NOT NULL, orderId VARCHAR(255) NOT ...

    hibernate一对一之唯一外键关联(双向关联)

    - 在一对一关联中,唯一外键关联是指在一个实体中定义了另一个实体的主键作为其字段,形成外键约束,确保了数据的一致性和完整性。 3. **双向关联与单向关联** - **单向关联**:只有一方知道另一方的存在,例如...

    Hibernate_容器映射技术笔记

    3. **Set**: Set不允许有重复元素,它更适合于唯一性约束的情况。在上述例子中,因为电子邮件地址是唯一的,所以选择使用`&lt;set&gt;`进行映射。 4. **Map**: Map提供了键值对的映射,非常适合用来表示对象之间的复杂...

    hibernate实例(一对多,多对一)

    关联可以是单向或双向的,且可以设置外键约束以确保数据一致性。 **一对多关联(One-to-Many)** 在一对多关联中,一个实体可以与多个其他实体相关联。例如,一个部门可以有多个员工,而每个员工只能属于一个部门...

    Hibernate注解、注释大全

    4. `@UniqueConstraint`:用于在表级别定义唯一性约束,确保某些字段组合的唯一性。例如: ```java @Table(name="tbl_sky", uniqueConstraints = {@UniqueConstraint(columnNames={"month", "day"})}) ``` 5. `@...

    hibernate 一对多 set 与 list 分别用法

    - **唯一性**:由于`Set`不允许重复元素,所以它更适合于那些需要保证实体唯一性的关系。例如,一个学生可以选修多门课程,课程列表中不应有重复的课程。 - **无序性**:`Set`内部的元素排序由`HashSet`或`TreeSet...

    Hibernate4实战资料

    它提供了多个可选参数,如name用于指定列名,unique用于设置唯一性约束,nullable定义是否允许空值,insertable和updatable控制列在INSERT和UPDATE语句中的行为,columnDefinition允许自定义SQL DDL片段,table指定...

    hibernate-annotations-3.4.0.GA.rar

    - `@UniqueConstraint`: 定义表中某列或一组列的唯一性约束。 8. **继承映射** - `@Inheritance`: 控制类的继承策略,如SINGLE_TABLE、JOINED、TABLE_PER_CLASS。 - `@DiscriminatorValue`: 用于多态继承,定义...

    hibernate组件之间的关联

    在 Hibernate 中,组件之间的关联是实现对象模型与数据库表之间映射的关键部分,它包括了一对一、一对多、多对一、多对多等多种关联类型。本篇文章将深入探讨 Hibernate 组件之间的关联机制及其应用。 **一对一关联...

    Hibernate 关联关系解除

    1. 设置关联字段为null:对于多对一和一对一关系,将引用对象设为null,Hibernate会在持久化时自动删除关联。 2. 使用CascadeType:通过设置CascadeType,可以在一个实体被删除或更新时,自动处理相关联的实体。例如...

    Hibernate 一对一,一对多,多对多例子

    7. **外键约束**:在一对一和一对多关联中,Hibernate可以自动生成外键约束,确保数据的一致性。但在多对多关联中,由于需要中间表,外键约束通常在中间表上设置。 这些示例将涵盖这些概念,并提供实际代码以演示...

    Hibernate关联映射-one to one单向外键关联

    3. **唯一性约束**:由于是一对一关系,通常会在数据库层面为外键添加唯一约束,以确保每个`User`只有一个`Account`,反之亦然。 以上就是关于Hibernate中一对一单向外键关联的基本介绍。通过理解和熟练掌握这种...

    Hibernate注解详解.pdf

    例如,可以定义`month`和`day`字段组合的唯一性约束: ```java @Entity @Table(name="tbl_sky", uniqueConstraints={@UniqueConstraint(columnNames={"month", "day"})}) public class Sky implements ...

    Hibernate2.1.2参考手册中文版

    5. **持久化类与表映射**:使用`hibernate-mapping` XML文件或Java注解来定义类与数据库表之间的映射关系,包括字段类型、约束等。 6. **Criteria查询**:Hibernate提供了Criteria API,一种面向对象的查询方式,...

Global site tag (gtag.js) - Google Analytics