当前位置: 首页 > 知识库问答 >
问题:

如果任何子级满足条件,则Hibernate提取父级和所有子级

杜诚
2023-03-14
@Entity
@Table(name="PARENT")
public class Parent {
   int parentID;
   String marritalStatus;
   List<Child> children;

   //getters and setters

   @OneToMany(mappedBy = "parent", cascade=CascadeType.ALL, orphanRemoval=true, fetch = FetchType.EAGER)
   public List<Child> getChildren() {
    return children;
}
}

@Entity
@Table(name="CHILD")
public class Child{
   private Parent parent;           //FK
   private int age; 
   private int childID;

   @ManyToOne
   @JoinColumn(name = "PARENT_ID", referencedColumnName = "PARENT_ID", nullable=false)
    public Parent getParent() {
      return parent;
    }

    public void setParent(Parent parent) {
         this.parent = parent;
    }
}

我尝试了第二个查询的子表的-join,但它没有给出理想的结果。

我的第一个查询工作良好,我得到了正确的父列表,我的问题是没有得到所有的孩子当我运行第二个查询。如何解决这个问题?

共有1个答案

贺俊材
2023-03-14

试着让已婚的父母:

select c.parent.parentID from Children c where c.age > 10 and c.parent.marritalStatus = 'married'

说明:

子级知道他们的父级,所以您可以访问父级的字段。

 类似资料:
  • 我有一个示例情况:表有一个名为的列,在表中作为外键引用。 删除子行时,如果父行未被任何其他子行引用,如何删除父行?

  • 问题是要确定子数据的总和是否等于父数据。如果是,返回真,否则返回假。 下面是我的代码,在提交时出现错误。我知道这是一个简单的问题,但在编写了条件之后,我很难通过遍历所有左右节点来递归检查二叉树中每个节点的和条件。 请指导我,因为我哪里做错了。

  • 我有一些关于“级联”的问题,在我的项目中,我有类别类,每个类可以是父类或子类。但我在同一个类中定义了哪一个是父母还是孩子。父母和孩子之间存在一对多的关系。这是我的实体类 我的问题是;当我删除子类别时,它的成功并没有问题。如果父类别有子类别,则无法删除父类别。 错误消息; Servlet.service()的servlet[调度Servlet]在上下文中与路径[]抛出异常[请求处理失败;嵌套异常or

  • 我有两个从抽象类继承的类,它们有父子关系。 所以我使用了注释OneToOne和ManyToOne,但是子类中的父实体总是为空。有人能帮我吗,我花了几个小时谷歌和测试了许多conf,但没有成功。 这些是我的类中的代码: ... ... ... 如果我不添加@JoinCol列注释,JPA会创建一个关联表,但无法检索父级,而关联可以直接通过在数据库中请求来完成。 非常感谢你的帮助。 祝好

  • 本文向大家介绍如何使用jQuery从父级删除所有子级节点?,包括了如何使用jQuery从父级删除所有子级节点?的使用技巧和注意事项,需要的朋友参考一下 要从父级删除所有子节点,请使用方法。该方法从匹配的元素集中删除所有子节点。 示例 您可以尝试运行以下代码以了解如何从父级删除所有子节点-

  • 所以我和蛇怪打过交道。我知道如何使用返回字符串和对象的hashmap。为了演示,我有一个包含值的yaml文件: 当我使用