当前位置: 首页 > 面试题库 >

Hql,如何在具有一对多关系的表之间编写联接查询?

班建义
2023-03-14
问题内容

我有2桌子。与… 1stoneToMany关系2nd

类作者

@Entity
@Table(name = "Author")
Public class Author{

    @Id
    @Column(name = "AuthorId")
    private int autherId;

    @Column(name = "AuthorName")
    private String authorName;

    @OneToMany
    @JoinColumn(name="AuthorId",referencedColumnName="AuthorId")
    List<Book> Books;

    //getter and setter
}

课堂书

@Entity
@Table(name = "Book")
Public class Book{

    @Id
    @Column(name = "BookId")
    private int bookId;

    @Column(name = "BookName")
    private String bookName;

    @Column(name = "AuthorId")
    private int authorId;

    //getter and setter
}

如何编写Hql查询,以便能获得所有作者和那里的书,而且书名应以hello

我知道使用这样的查询,

  from Author;

我可以获取所有作者和那里的书,但是如何在书上注明条件?


问题答案:

我认为是这样的:

select a from Author as a join a.Book as ab where ab.AuthorId like '%"hello"%';

虽然不确定a.Book,也可能是a.Books,因为您的列名就是这样命名的。



 类似资料:
  • 问题内容: 我在Hibernate中具有以下一对一关系(可能为null): 我正在尝试使用HQL选择所有具有非空详细信息的实体: 但这会返回所有实体,无论详细信息是否为空。 那么正确的HQL是什么? 问题答案: 好的,我找到了解决方案:

  • 问题内容: 我有一个使用联接表建模的一对多关系: 这些表应该模拟一个t1与多个t2的关系。使用JPA为这些表建模的正确方法是什么? 问题答案: 一个T1到多个T2的典型表是在T2上有一个指向T1的外键。通常不需要T1_T2表。 这样,JPA结构将是一对多的,可能是双向的。 可能会有一些安排,以使您描述的结构起作用。您可以更改T1_T2: 在T2上添加唯一约束(以便仅允许一个T2) 那真的是你想要的

  • 我正在使用Play Framework 2.1.0和Ebean,在查询下列场景时遇到问题: 我有3类表示数据库中的表。 使用Ebean,如何 > 是否检索项目列表中的所有子项目? 是否检索项目的所有小型项目? 给定子项目列表,如何检索所有小项目?

  • 问题内容: 所以我很惊讶在Google和stackoverflow上进行搜索不会返回更多结果。 在OO编程中(我正在使用Java),如何正确实现一对多关系? 我有一堂课。我的申请是针对一家虚构的公司,该公司可以为客户完成工作。我当前的实现是使该类与该类无关,根本没有对其的引用。本类使用的集合和方法来保持,检索和修改有关已被分配和/或完成客户作业的信息。 问题是,如果我想找出特定客户针对哪个客户,该

  • 我是HQL的新手。请告诉我如何在HQL中编写这个查询。 我的SQL方法是 我的SQL查询是 其中,id和日期是动态的 请在Hql查询中转换此sql查询

  • 问题内容: 因此,让我以任何方式说我都不是SQL向导来作为开头。我想做的是一个简单的概念,但是在尝试最小化我正在执行的数据库查询量时给我带来了一个小挑战。 假设我有一个部门表。每个部门内都有一个雇员列表。 列出所有部门以及每个部门中哪些雇员的最有效方法是什么? 因此,例如, 如果我有一个部门表: 和一个人表: 最好的方法是像这样列出所有部门和每个部门的所有员工: 营业额 汤姆 法案 雷切尔 营销学