MYSQL 查询的等效 JPA 查询

Equivalent JPA query for MYSQL Query

我还在学习 JPA 框架。我在下面创建了我的 mysql 查询:

SELECT DISTINCT(tia.VoucherId) As Voucher, f.Name As Farm, CONCAT(far.FirstName, ' ', far.LastName) AS Farmer, s.Name Season, fa.Name As FarmingActivity
FROM Enrollment e INNER JOIN TemporaryInputsAllocated tia ON e.Farm_Id = tia.Farm_Id
INNER JOIN Farm f ON e.Farm_Id = f.Id
INNER JOIN Farmer far ON f.Farmer_Id = far.Id
INNER JOIN Season s ON tia.Season_Id = s.Id
INNER JOIN FarmingActivity fa on e.FarmingActivity_Id = fa.Id;

什么是等效的 JPA 查询?

如果您有外键,则不需要内连接子句。您可以这样更改您的查询:

SELECT DISTINCT(tia.VoucherId) As Voucher, e.Farm_Id.Name As Farm, CONCAT(e.Farm_Id.Farmer_Id.FirstName, ' ', e.Farm_Id.Farmer_Id.LastName) AS Farmer, tia.Season_Id.Name Season, e.FarmingActivity_Id.Name As FarmingActivity FROM Enrollment e, TemporaryInputsAllocated tia where e.Farm_Id = tia.Farm_Id

此查询returns一个对象列表。