休眠到许多反向查询

Posted

技术标签:

【中文标题】休眠到许多反向查询【英文标题】:hibernate on to many reverse query 【发布时间】:2016-01-18 08:13:26 【问题描述】:

我在QuestionAnswer 两个实体之间有many2one 关系,其中many2one 定义在Answer' and no one2many defined inQuestion` 中。

如果不在Question实体中添加one2many关系,我如何通过休眠查询没有任何答案的问题?

类似:

select distinct q from Question q
left join Answer a on a.question_id=q.id
where a.id is null

【问题讨论】:

【参考方案1】:

类似这样的:

select q from Question q
where q not in (select a.question from Answer a)

顺便说一句,您提供的查询“SQL 太多”,请记住,尽管它们的语法相似,但 SQL 和 JPQL 在概念上是不同的。

【讨论】:

谢谢,效果很好。我不知道如何编写 hql,所以我以这种方式为像我这样通常不阅读描述并跳到代码的人编写了半 SQL:P

以上是关于休眠到许多反向查询的主要内容,如果未能解决你的问题,请参考以下文章

如何将休眠查询的结果映射到 DTO 对象?

在 jsp 中显示休眠查询结果的最佳方法

我可以对未映射到表的实体使用休眠查询语言吗?

从 java pojo 类生成休眠查询

在休眠中将“反引号”添加到列名

休眠选择查询不返回任何内容