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

如何使用Hibernate标准连接两个表?

邹锦
2023-03-14

现在我正在使用Criteria Hibernate查询从员工表中查询所有记录,它工作正常。我需要将员工表与库表联接,其中库。Emp_Id=员工。Emp_id我是否需要从员工表中获取所有记录,并从库表中获取书名和结账日期,作为联接选择查询的一部分。我该怎么做?

  Session session = sessionFactory.getCurrentSession();
  CriteriaBuilder builder = session.getCriteriaBuilder();
  CriteriaQuery<Employee> criteria = builder.createQuery(Employee.class);
  Root<Employee> root = criteria.from(Employee.class);
  responseList = session.createQuery(criteria).getResultList();
  return responseList

共有1个答案

谈桐
2023-03-14

这将类似于以下内容:

  Session session = sessionFactory.getCurrentSession();
  CriteriaBuilder builder = session.getCriteriaBuilder();
  CriteriaQuery<Object[]> criteria = builder.createQuery(Object[].class);
  Root<Employee> root = criteria.from(Employee.class);
  Root<Library> library = criteria.from(Library.class);
  criteria.where(builder.eq(root.get("id"), library.get("employeeId")));
  criteria.multiselect(root, library);
  responseList = session.createQuery(criteria).getResultList();
 类似资料:
  • 比如说,我有一个名为“Contact”的表,其中“first\u name”和“last\u name”作为列。基本上,“从联系人c中选择concat(c.firstname,,,c.lastname)作为全名”是我在hibernate中想要做的。 我可以将整个查询放在createQuery中,并获得所需的输出。但是,我不想在hibernate中执行sql查询。我在这里找到了一篇类似的帖子“我们可

  • 问题内容: 尝试使用socket.io- client连接到用Go编写的websocket服务器。我已经使用节点WebSocket库(npm)成功连接。因此,有效的Websocket代码如下所示: 非常简单并且有效-另一端的套接字以设定的频率发送消息。但是我最初尝试使用(npm),但是无法继续使用。它肯定将websocket列为其首选传输,但是该死,如果我能连接它的话: 连接永远不会发生,因此不会

  • 大家好,我在使用jparepository使用@query连接两个表时遇到了一个小问题,但我得到了错误。请帮我做这个。

  • 下面的代码片段是从JoinedStreams的javadoc复制的 这两个流仅基于一个键(通过< code>t =计算)进行连接 我会问我如何基于多个键进行连接,例如,one.a = two.a和

  • AnsprechPartner Lieferant ansprechpartner.java lieferant.java 在我的AnsprechPartner.java中,我是这样做的: 在我的Lieferanten.java中,我是这样做的:

  • 问题内容: 我正在寻找一个hibernate标准以获取以下信息: Dokument.class映射到角色roleId Role.class具有一个ContactPerson contactId Contact.class名字姓 我想在Contact类中搜索名字或姓氏,并检索连接的Dokuments列表。 我已经尝试过这样的事情: 我收到错误,无法为类“ Dokument”解析属性“ LastNam