`

hibernate一对多中,多表中有两个字段需要引用单表的主键,如何写hbm.xml

阅读更多
hibernate一对多中,多表中有两个字段需要引用单表的主键,如何写单方中的hbm.xml?

如科目表:Subject(一方)

subjectId
subjectName


前置科目表:PreSubject--存储学习某科目前必须先学某个科目的信息(多方)

id
subjectId(科目id,引用的科目表的id)
preSubjectId(科目的前置科目id,仍然引用的科目表的id)

前置科目映射文件:PreSubject.hbm.xml
<hibernate-mapping  package="db"> 
<class 
   name="PreSubject" 
   table="pre_subject" 
> 
<id 
   name="id" 
   type="integer" 
   column="id" 
> 
<generator   class="increment"/> 
</id> 

<many-to-one   name="subject"   class="db.Subject"   column="subject_id"/> 

<many-to-one   name="preSubject"   class="db.Subject"   column="pre_subject_id"/> 

</class> 
</hibernate-mapping> 



  问题就在下面这个hbm文件,如何写映射中这个set呢?请指点,谢谢!

科目映射文件:Subject.hbm.xml


<hibernate-mapping  package="db"> 
<class 
    name="Subject" 
    table="subject" 
> 

<id 
    name="id" 
    type="integer" 
    column="subject_id" 
> 
    <generator   class="increment"/> 
</id> 

<set   
    name="preSubjects"   
    lazy="false" 
    cascade   =   "all" 
    inverse="true"   
> 
    <key   column="subject_id"/> 
    <one-to-many   class="db.PreSubject"/> 
</set> 

</class> 
</hibernate-mapping> 
分享到:
评论
2 楼 iamsingfly 2007-12-21  
解决了 我写的正确 第二个没有意义
1 楼 iamsingfly 2007-12-21  
请知道的指点 谢谢了

相关推荐

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    在Java的持久层框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它极大地简化了数据库操作。然而,在实际开发过程中,我们可能会遇到一些问题,比如在处理`hbm.xml`文件中的中文注释时出现乱码,或者...

    hibernate。hbm.xml配置详解

    在 Hibernate 中,`hbm.xml` 文件是用于定义对象与数据库表之间映射的元数据文件。这篇文档将深入解析 `hbm.xml` 配置的各个方面。 ### 1. `hbm.xml` 文件结构 `hbm.xml` 文件的开头通常包含 XML 声明和 DTD 引用...

    Hibernate逆向生成entity和hbm.xml文件

    这个"hibernate逆向生成.exe"文件可能是一个基于Windows平台的Hibernate反向工程工具,用户只需按照一定的步骤配置数据库连接信息,选择需要逆向生成的表,工具就会自动生成对应的Entity类和hbm.xml文件。...

    利用Middlegen Hibernate3生成hbm.xml配置和java类

    标题中的“利用Middlegen Hibernate3生成hbm.xml配置和java类”指的是使用Middlegen工具来自动化创建Hibernate3框架所需的映射文件(hbm.xml)和对应的Java实体类。这个过程是数据库对象到Java对象(O/R Mapping)的...

    Oracle自动生成hibernate实体(.java 和.hbm.xml文件)存储过程

    每个实体类对应一个`.hbm.xml`文件,其中包含了类名、属性名、字段类型、主键信息以及关联关系等配置。这些信息让Hibernate能够理解如何在数据库和Java对象之间进行自动的映射和转换。 例如,对于一个名为`User`的...

    hibernate.cfg.xml文件

    在`hibernate.cfg.xml`中,我们通常不会直接写入实体类的属性映射,而是引用外部的`.hbm.xml`文件。这些映射文件详细描述了实体类和数据库表之间的关系,包括字段映射、主键生成策略等。 四、运行时加载配置 在...

    NHibernate实例代码 三种hbm.xml加载方式

    - **映射文件内容**:`hbm.xml` 文件定义了实体类和数据库表之间的映射规则,包括字段映射、主键设置、关联关系等。 - **Session 对象**:代表数据库会话,用于执行 CRUD 操作。它提供了一种上下文,可以在其中加载...

    Hibernate关联关系hbm.xml中的相关属性

    例如,在学生和班级的关系中,一个班级可以有多个学生,但每个学生只能属于一个班级。以下是一些主要属性: 1. `name`: 定义了在Java对象中与关联类相关的属性名称。 2. `column`: 指定在多的一方(学生)的表中,...

    Hibernate.cfg.xml配置总结

    Hibernate作为一款强大的Java对象关系映射框架,其核心配置文件Hibernate.cfg.xml在项目中起着至关重要的作用。这个文件主要负责定义数据源、连接池、SQL方言、日志以及实体类映射等关键设置。本文将深入探讨其中的...

    hibernate使用主键关联的一对一关系

    在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来实现两个实体类之间的这种一对一绑定。下面我们将深入探讨这一主题。 首先,我们需要理解一对一关系的概念。在数据库中,一对一关系意味...

    xdoclet 用于生成*.hbm.xml

    总结来说,xdoclet是一个强大的工具,通过在Java源代码中添加注解,可以自动为Hibernate生成所需的.hbm.xml映射文件,从而减轻开发负担,提高开发效率。同时,理解如何下载和使用xdoclet,也是提升Java开发效率的...

    Hibernate单向一对多关联映射(XML版)

    2. **XML映射文件**:接下来,我们需要在Hibernate的XML配置文件(如`User.hbm.xml`和`Order.hbm.xml`)中,定义这两个类的映射关系。在`Order`的映射文件中,我们将使用`&lt;many-to-one&gt;`标签来表示与`User`的关联。 ...

    从hbm的xml文件 自动生成数据库表

    标题中的“从hbm的xml文件自动生成数据库表”指的是在Java编程中,使用Hibernate框架的一个功能,通过Hibernate Mapping(hbm.xml)文件来自动创建对应的数据库表结构。Hibernate是流行的Java ORM(对象关系映射)...

    hbm xml配置详解 ssh框架

    每个`.hbm.xml`文件通常对应于一个Java实体类,文件中的元素和属性详细描述了类的属性如何映射到数据库表的字段。 在`.hbm.xml`文件中,映射元素主要包括以下几部分: 1. ****:这是映射文件的根元素,表示一个...

    Hibernate使用hbm.xml配置映射关系解析

    Hibernate 是一个流行的对象关系映射(ORM)工具,它提供了使用 XML 文件(hbm.xml)来配置映射关系的方式。这种方式可以将 Java 类与数据库表进行映射,使得开发者可以更方便地访问和操作数据库。 在使用 ...

    hibernate hbm详解

    Hibernate 支持一对一(one-to-one)、一对多(one-to-many)、多对一(many-to-one)和多对多(many-to-many)的关联映射。关联映射涉及 `one-to-one`、`many-to-one`、`one-to-many` 和 `many-to-many` 元素。 5...

    Tomcat配置hibernate xml模板

    2. **创建实体类映射文件**:在Hibernate中,每个数据库表对应一个Java实体类,每个实体类有一个对应的`.hbm.xml`映射文件。这些文件描述了类与表的映射关系,例如字段到列的映射、主键生成策略等。 3. **在`web....

    hibernate 多表关联 中间表

    而多对多关系是通过在两个参与实体之间创建一个额外的中间表来实现的,这个中间表通常包含两个外键,分别指向原表的主键。例如,User表和Role表通过UserRoles表进行关联,UserRoles表有User_id和Role_id字段。 在...

    CodeSmith对应的NHibernate的.hbm.xml映射文件的生成模板

    1. 类定义:模板会根据数据库表结构生成C#类,每个字段对应表中的一个列,包括数据类型、属性名称、访问修饰符等。 2. 属性定义:每个字段对应的类属性,包括属性名称、类型、getter和setter方法。 3. 构造函数:...

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

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系映射方式,用于表示两个实体之间一对一的对应关系。本篇主要探讨的是基于主键(Primary Key)的双向关联映射,这在实际项目中非常常见...

Global site tag (gtag.js) - Google Analytics