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

HQL查询连接表

方光华
2023-03-14

我正在使用hibernate为一个项目连接到我的数据库。

我想有一个查询,从我的数据库中获得产品与特定语言的描述和名称。我拥有的参数是该语言的简称,因此首先我必须获得该语言的id,然后获得所需语言的文本。

我尝试了下面的hql查询,没有成功。

from Products as p
where p.productlanguages.languages.shortname like 'eng'

SELECT * FROM products p 
INNER JOIN productlanguage pl ON pl.Products_id = p.id 
WHERE pl.Languages_id = 
(
SELECT id FROM languages 
WHERE Shortname = 'eng'
);

共有1个答案

於宏大
2023-03-14

请尝试以下操作:

   from Products p INNER JOIN p.productlanguages pl
   where pl.languages.shortname ='eng'

我假设您已将Product-ProductLanguages关系映射为OneTomanyProductLanguages-Langages关系映射为ManyToOne,如E-R图中所示。

编辑:ProductLanguage映射中的Public LanguageGetLanguage(){barcode行似乎有错误,最后删除barcode

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="Languages_id", nullable=false, insertable=false, updatable=false)
public Languages getLanguages() {barcode

    return this.languages;
}
 类似资料:
  • 我想执行以下sql查询 如何使用hibernate 3.0为此编写hql查询 我是这样写的 但它显示了hql语法错误

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

  • MongoDB提供了lookup操作,用于实现两个表的关联聚合,但聚合操作编写起来比较麻烦,而且不符合面向对象的思维。为简化开发,bugu-mongo提供了一个JoinQuery类,用于实现两个表的连接查询。 JoinQuery借鉴了SQL左连接的概念: 当前表为左表,被连接的表为右表; 通过指定左键、右键进行关联; 对于不存在关联的数据,只会返回左表的数据,右表的数据为null。 创建JoinQ

  • 和异常: 实体:GirMotiuRebuig 这个标准起作用了:

  • 我应该如何将这个MySQL查询转换为HQL来检索我需要的一些数据? 在我的代码中,有POJO ProcessedUrl,它映射了id/url/date/set(句子)字段。我想做一些类似的事情: 然后遍历此结果,为每个URL打印&。 我知道我的查询应该返回中的字段,那么我如何返回一些分组查询并从中检索不直接保存在表中的数据呢?就像每个URL的一样? 多谢帮忙。

  • 主要内容:1.内连接,2. 左连接 - LEFT JOIN,3. 右连接 - RIGHT JOIN,4. 全连接 - FULL JOIN顾名思义,连接(JOIN)表示要结合一些东西。 在SQL的情况下,连接(JOIN)表示“组合两个或更多表”。 在SQL中,子句用于组合数据库中两个或多个表的记录。 SQL JOIN的类型 内连接 - INNER JOIN 左连接 - LEFT JOIN 右连接 - RIGHT JOIN 全连接 - FULL JOIN 假设有以下几张表,EMPLOYEE 表的结构