`
Acaleph
  • 浏览: 31059 次
  • 性别: Icon_minigender_1
  • 来自: 广东惠州
社区版块
存档分类
最新评论

关于Hibernate ManyToMany关系比较头痛的问题

阅读更多

在我的项目中,有一个如下场景:

工程实全类:Engineering.java与职员实体Staff.java分别处在两个不能项目中,物理上是在两个不同的MAVEN项目中,在工程类中建立如下MTM关系:

@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY)
    @JoinTable(name = "co_engineering_staff", joinColumns = { @JoinColumn(name = "ENGINEERING_ID") }, inverseJoinColumns = { @JoinColumn(name = "STAFF_ID") })
    @OrderBy("staffId")
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    private Set<Staff> engineeringStaff = new LinkedHashSet<Staff>();

建立了这样的关系后,系统将生成一个新的Table:co_engineering_staff

而在Staff.java中就不想再建立这样的关系,主要不想让一个基础工程类中保留各种关于应用工程的数据。

问题:如果我想得到某个Staff对应的所有工程,其中,有些工程的有效属性已经为False的不需要检索,如何来写这个QUERY呢?

笨方法:新生成一个entity 对应co_engineering_staff,在这上面写QUERY,然后拼成SQL条件为“IN”来得到Engineering list。

有什么更好的办法吗?

分享到:
评论

相关推荐

    Hibernate 两种方式映射many to many

    在Hibernate中,我们可以通过`@ManyToMany`注解来定义这种关系,并使用`@JoinTable`注解来指定中间表的信息。例如: ```java @Entity public class Student { @Id @GeneratedValue(strategy = GenerationType....

    manytomany注解模式.rar

    在Java的持久化框架Hibernate中,`@ManyToMany`注解是用于处理数据库中的多对多(Many-to-Many)关系。多对多关系是指一个实体可以与多个其他实体相关联,反之亦然。这种关系在数据库表设计中通常通过中间表来实现,...

    HIbernate-ManytoMany:HIbernate-ManytoMany 不同实体之间的关系

    本文将深入探讨如何在Hibernate中实现多对多(ManyToMany)的关系映射,以及相关的重要概念和技术细节。 在数据库设计中,多对多关系是最常见的一种关联类型,例如,一个学生可以选修多门课程,一门课程也可以被多...

    hibernate的多种映射关系

    Hibernate 是一个流行的对象关系映射(ORM)框架,它允许开发者使用 Java 对象来操作数据库,消除了直接编写 SQL 的需要。在 Hibernate 中,映射关系是将数据库表与 Java 类之间的关联方式,使得对象模型可以与关系...

    Hibernate面试题专栏 - 最全的Hibernate面试题, Hibernate笔试题, Hibernate问题

    【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...

    Hibernate关联关系疑问

    以上是关于Hibernate关联关系的一些基本概念和使用技巧,深入理解和应用这些知识能够帮助开发者更高效地使用Hibernate进行数据库操作。如果你在实践中遇到了具体的问题,可以参考相关文档、教程或社区讨论来获取更...

    Hibernate完整ppt教程

    - Hibernate支持各种复杂的关联关系,如@OneToMany、@ManyToOne、@OneToOne、@ManyToMany等。 - 关联映射通常涉及外键和级联操作。 7. **集合映射** - Hibernate支持List、Set、Map等多种集合类型的映射,以便...

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

    在Hibernate中,可以通过`@ManyToMany`注解定义多对多关系,并使用`@JoinTable`定义连接表。例如,Student实体和Course实体的多对多关系: ```java @Entity public class Student { @ManyToMany @JoinTable...

    hibernate(多对多关系映射)

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关系映射是一种常见的数据库交互模式,它用于表示两个实体之间复杂的关系。在这个场景中,一个实体可以与多个其他实体相关联,反之亦然。例如,在学生和课程...

    hibernate 重点知识原创

    Hibernate 支持多种数据库表之间的关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。通过 `&lt;one-to-one&gt;`、`&lt;list&gt;`、`&lt;set&gt;` 等元素可以定义这些关系,并指定...

    Hibernate 3.1.2中文文档

    10. **一对一(OneToOne)、一对多(OneToMany)、多对多(ManyToMany)关系映射**:Hibernate提供了多种关联映射方式,帮助处理复杂的数据关系。 11. **继承映射**:Hibernate支持单表继承、联合继承和表-per-...

    Hibernate电子书(全)

    Hibernate支持一对一和多对多关系的映射,分别通过`@OneToOne`和`@ManyToMany`注解实现。这些映射策略使得复杂的关联关系能够在Hibernate中得到清晰的表示。 #### 延迟加载(LazyInitialization) 延迟加载是一种...

    Hibernate4种多表关系实例

    本资源主要探讨了Hibernate中的四种主要的多表关系映射,包括一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。接下来,我们将深入讲解这四种关系及其在实际开发中的应用。 1...

    hibernate_reference中文版和Hibernate中文手册

    《Hibernate参考指南中文版》与《Hibernate中文手册》是学习Java领域中ORM(对象关系映射)框架Hibernate的重要参考资料。Hibernate作为一个开源的、强大的持久化框架,极大地简化了数据库操作,使得开发人员能够以...

    Hibernate帮助文档

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在Java对象和数据库之间建立一个灵活的映射层。这个框架使得开发人员无需编写大量的SQL代码,就能处理数据库操作,提高了开发效率和代码的可维护性...

    hibernatemanytomany:使用两个实体的投影Hibernate多对多示例

    问题:如何跨多对多关系的两个实体投影列示例:员工(id、名字、姓氏)会议(id、主题、会议日期) 假设我们有员工数据 1 , A, AA 2 , B, BB 会议 1,AB 会议,X 2,另一个会议,X 3,仅 B Employee_Meeting AB A 和...

    hibernate多对多关系

    1. **关联映射配置**:在Hibernate中,多对多关系需要通过`@ManyToMany`注解进行配置。这个注解用于定义两个实体类之间的多对多关系,并指定关联表的字段和外键。例如: ```java @Entity public class Student { @...

    Hibernate完全参考手册

    Hibernate支持多种关联关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany)。关联映射需要在实体类和映射文件中进行详细配置。 九、懒加载与立即加载 懒加载(Lazy ...

    Hibernate5实例程序

    Hibernate支持多种关系映射,如一对一(`@OneToOne`)、一对多(`@OneToMany`)、多对一(`@ManyToOne`)和多对多(`@ManyToMany`)。每种关系映射都有相应的配置方法。 11. **懒加载(Lazy Loading)** 通过`@...

Global site tag (gtag.js) - Google Analytics