以下SQL在JPA查询中可能吗?我试过了,但实际SQLHibernate运行似乎不正确。
这是我想写为JPA查询的SQL;
UPDATE movie m SET average_rating = COALESCE((SELECT AVG(stars) FROM rating r WHERE r.movie_id = m.id), 0);
这是JPA查询;
@Query("UPDATE Movie m SET m.averageRating = COALESCE((SELECT AVG(r.stars) FROM Rating r WHERE r.movie = m), 0)")
hibernate说了什么;
Hibernate:
insert
into
HT_Movie
select
movie0_.id as id
from
Movie movie0_
Hibernate:
update
Movie
set
average_rating=coalesce((select
avg(rating1_.stars)
from
Rating rating1_
where
rating1_.movie_id=id),
0)
where
(
id
) IN (
select
id
from
HT_Movie
)
所以似乎有一个额外的地方被Hibernate添加。
@Query("UPDATE Movie m SET m.averageRating = COALESCE((SELECT AVG(r.stars) FROM Rating r WHERE r.movie = m), 0)")
这是完全正确的。hibernate也能正常工作。Hibernate的工作方式如下:
这并不是新的hibernate总是捏造查询。
我有三张桌子,像第一张,第二张,第三张。 我需要一个mysql解决方案。 从table1、table2中选择table1.val1、table2.val1,并更新返回的值,如下所示。 更新table3设置value=table1.val1,其中value=table2.val1 我的查询不工作.. “WHERE子句”中的列“C1.COM_ID”未知
问题内容: 如何使用JOIN从一个表中选择所有列,从另一个表中仅选择一些列?在MySQL中。 问题答案: 只需使用表名: 这将选择所有列和列和从。
问题内容: 我有两个数据库,我想用另一个数据库表中的值更新一个表。我正在使用以下查询,但它不起作用。 我也尝试了以下查询,但它也不起作用: 问题答案: 更新1 根据您的评论,应成为联接的一部分。这是正确的: 您甚至可以添加来简化语句,
我刚开始冬眠。我有两张桌子,有一对多的关系。有两个表格: 这是一个父类,它与图像表有一对多关系 现在我想使用父类的id(即:pashminaId)从类中选择一个 如: 选择IMAGE_NAMETBL_IMAGEPASHMINA_ID='some_digit'; 我怎么能在图像类中传递pashminaId,因为没有它只有一个父类的对象创建。 那么,我如何在Hibernate中实现这一点? 谢谢!希望
问题内容: 我发现了具有正确答案的类似问题。但是它们对我来说有点复杂。我只想要一个简单的基本声明。 我有: …和: 如何合并它们? 问题答案: 有关OUTPUT子句的更多信息,请查看此文章。
我有两张调查表。表1包含以下字段发送的调查:SID、SalesRep、位置。表2包含用以下字段返回的调查结果:RID、SID、QID、AID。 在表1中,SID是唯一的,没有重复项。在表2中,RID是唯一的,并且表示被回答的每个问题和答案。表2中的SID代表了回答问题的调查。因此,如果调查中回答了10个问题,表2中将有10行具有相同的SID。 我需要做的是找出每个销售人员已经发送了多少份调查,采取