`
zenius
  • 浏览: 55839 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

hibernate多对多关联的一个问题

    博客分类:
  • Java
阅读更多
有这样两张表,部门和雇员
需求:1 每个部门有多个雇员;
      2 雇员只能同时属于一个部门;
      3 雇员所属部门可以改变,但是需要保留部门变化的历史记录。

我有点困惑,似乎应该使用双向多对多关联,但是这样的话我不知道怎么样才可以确定雇员当前的部门。或者还有什么更好的方案,多谢。
分享到:
评论
6 楼 yemen 2007-05-04  
是不是可以这么设计啊
部门和雇员是一对多的关系,
雇员和历史记录也是一对多的关系
在数据库里面设置3张表:部门,雇员,历史记录
5 楼 zenius 2007-04-01  
感谢大家的回答,但是我的问题不是怎么建表,加什么字段,而是在hibernate里该怎么配置这样的关系。
4 楼 strangecat2005 2007-04-01  
其实是两个问题:
1.保留部门和员工关系;
2.保留历史信息;

1.当然是一对多关系;
2.表里面加个列,用来标注当前记录是否为有效信息
3 楼 kj23 2007-03-31  
再加张表不就好了
2 楼 zenius 2007-03-31  
3 雇员所属部门可以改变,但是需要保留部门变化的历史记录。

问题在这里,如果用一对多关系的话,雇员改变部门的历史纪录就没办法保存了。
1 楼 rainlife 2007-03-31  
zenius 写道
有这样两张表,部门和雇员
需求:1 每个部门有多个雇员;
      2 雇员只能同时属于一个部门;

这个是典型的一对多问题,一个部门对应多个雇员,多个雇员对应一个部门,为什么要设计成多对多呢?

相关推荐

    hibernate多对一单向关联关系实现源码

    对于单向多对一关联,通常是在多方(拥有多个实体)的类中添加一个对单方(拥有单一实体)的引用。 例如,我们可以创建两个实体类:`Employee`(员工)和`Department`(部门)。在`Employee`类中,我们将有一个`...

    hibernate多对多关联映射

    在数据库设计中,多对多关联表示两个表之间的关系,如学生和课程的关系,一个学生可以选修多门课程,而一门课程也可以被多个学生选修。在Hibernate中,这种关系需要通过中间表(也称为关联表或连接表)来实现,它...

    hibernate多对多双向关联

    "hibernate_many2many_2"这个文件名可能是指一个关于Hibernate多对多关联的示例或教程的第二部分,可能包含配置文件、Java实体类、映射文件以及相关的测试代码。 **详细知识点:** 1. **实体类定义**:在Hibernate...

    hibernate多对一关联demo

    本教程将详细解释如何在Hibernate中实现多对一的关联关系,以及如何通过一个实际的示例来演示这一过程。 【描述】:“博客地址:http://blog.csdn.net/smilefyx/article/details/48603923” 在上述博客文章中,...

    Hibernate一对多使用非主键关联设置

    在标准的关系型数据库设计中,一对多关系意味着一个表中的记录可以与另一个表中的多个记录相关联。例如,一个部门可以有多名员工,而每个员工只属于一个部门。在Hibernate中实现这种关系,我们不一定要依赖主键作为...

    hibernate多对多关联映射(单项关联)

    总的来说,这篇博客和相关代码示例为开发者提供了一个理解和实现Hibernate中多对多单向关联的起点,帮助他们更好地处理复杂的数据库关系映射。学习和实践这部分内容对于提升Java后端开发能力,特别是使用Hibernate...

    hibernate一对多,多对一,一对多双向关联

    由于只给出了"hibernate_003"这个文件名,我们无法直接获取具体信息,但可以猜测这是一个系列教程的一部分,"003"可能是表示序列号,表示这是关于Hibernate关联关系的第三个主题或者第三部分。 **详细知识点:** 1...

    Hibernate双向一对一关联映射(注解版)

    假设我们有两个实体,一个是`Person`,另一个是`Profile`,它们之间存在一对一的关联。在`Person`实体中,我们可以这样配置: ```java @Entity public class Person { @Id @GeneratedValue(strategy = ...

    Hibernate映射一对多关联关系

    一对多关联关系是指一个实体可以与多个其他类型的实体关联,但反过来,这些实体只与一个该类型的实体关联。例如,在客户(Customer)与订单(Order)的关系中,一个客户可以有多个订单,但每个订单只能属于一个客户。 #...

    hibernate一对一关联关系

    在实体类之间,Hibernate支持多种关联关系,包括一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)。本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,...

    Hibernate一对一,一对多,多对多实例

    本实例将深入探讨Hibernate中的三种基本关联关系:一对一(One-to-One)、一对多(One-to-Many)以及多对多(Many-to-Many)的实现方式。 1. **一对一关联**: 一对一关联通常出现在两个实体之间存在唯一对应关系...

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

    在一对一主键关联映射中,"单项关联"指的是在一个实体类中定义了对另一个实体类的引用,而另一个实体类并未反过来引用。这通常是由于业务逻辑上的需求,例如,一个人只有一个身份证,但身份证并不知道它属于哪个人。...

    Hibernate ORM - 一对多双向关联关系

    标题“Hibernate ORM - 一对多双向关联关系”指的是在数据库建模中,Hibernate ORM(对象关系映射)框架如何处理一个实体类(如User)与多个实体类(如Article)之间的关系。在这种关系中,一个用户可以拥有多个文章...

    hibernate多对一关联关系

    在Java的持久化框架Hibernate中,"多对一"关联关系是一种常见的对象关系映射(ORM)设计,它表示一个实体(子项)可以与多个其他实体(父项)相关联,而每个父项可能被多个子项引用。在数据库层面,这通常对应于一个...

    hibernate双向一对多关联映射(注解版)

    在Java的持久化框架Hibernate中,双向一对多关联映射是一种常见的关系映射方式,它模拟了数据库中的外键关联,使得一个实体可以拥有多个另一个实体的实例。在这个注解版的实现中,我们将深入探讨如何使用Hibernate的...

    Hibernate一对一主键关联映射(双向关联)

    "双向关联"则意味着在两个实体类中,都可以直接访问到对方的实例,即在实体A中有一个对实体B的引用,同时在实体B中也有一个对实体A的引用。 在实际配置中,我们可以使用以下元素来实现这种映射: 1. `@OneToOne`:...

    hibernate关联映射详解

    包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。

    hibernate实现多对多关联关系源码

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本源码示例将深入探讨如何使用Hibernate来配置和管理这种复杂的...

    Hibernate基于连接表的一对多单向关联

    在上述代码中,我们使用了注解`@ManyToOne`和`@JoinColumn`来声明`Address`类中的`person`字段是一个多对一的关联,并指定了外键列的名称。 3. 数据库表结构:`personAdd.sql`可能包含了创建`Person`和`Address`表...

Global site tag (gtag.js) - Google Analytics