如何将SQL查询转换为JPQL查询?
我正在寻找如何将以下查询(SQL)转换为查询JPQL如何将SQL查询转换为JPQL查询?,sql,jpql,Sql,Jpql,我正在寻找如何将以下查询(SQL)转换为查询JPQL SELECT * FROM equipements eq LEFT JOIN check_lists checks ON eq.id_equipements = checks.equipements_id LEFT JOIN responses_check_lists resp ON checks.id_check_lists = resp.check_lists_id AND resp.missions_id = 15 AND eq.
SELECT * FROM equipements eq
LEFT JOIN check_lists checks
ON eq.id_equipements = checks.equipements_id
LEFT JOIN responses_check_lists resp
ON checks.id_check_lists = resp.check_lists_id
AND resp.missions_id = 15
AND eq.id_equipements = 1
ORDER BY checks.id_check_lists
我跟踪了internet上的文档,但没有在JPQL中获得查询的正确转换
我知道查询的属性将被类的属性替换
我在这里发表文章是为了帮助我转换SQL查询
Edit1:
@Query(
"SELECT r, checks, eq"
+ " FROM Equipements eq"
+ " LEFT JOIN CheckLists checks "
+ " ON eq.idEquipements = checks.equipements.idEquipements"
+ " LEFT JOIN ResponsesCheckLists r"
+ " ON checks.idCheckLists = r.CheckLts.idCheckLists"
+ " AND r.Respmission.idMission= :idmiss "
+ " AND eq.idEquipements= :idEqp"
+ " ORDER BY checks.idCheckLists ASC"
)
Edit1的错误:
原因:java.lang.IllegalStateException:节点没有数据类型:
org.hibernate.hql.internal.ast.tree.IdentNode+-[IDENT]IdentNode:
'r'{originalText=r}
org.hibernate.hql.internal.ast.InvalidPathException:无效路径:
“checks.idchecklist”
提前感谢您,分析您的SQL,在没有看到实体的情况下,您的JPQL可以是这样的:
SELECT eq FROM Equipements eq
LEFT JOIN eq.checks check
LEFT JOIN check.responses resp
LEFT JOIN resp.missions mission WITH mission.id = :idmiss
WHERE eq.id = :idEqp
ORDER BY check.id
但是,要做到这一点,您需要调整实体的映射(实体名称、列名等)。分析SQL而不查看实体,您的JPQL可以是这样的:
SELECT eq FROM Equipements eq
LEFT JOIN eq.checks check
LEFT JOIN check.responses resp
LEFT JOIN resp.missions mission WITH mission.id = :idmiss
WHERE eq.id = :idEqp
ORDER BY check.id
但是,要做到这一点,您需要调整实体的映射(实体名称、列名等)。请问,如何将SQL转换为JPQL?能否显示映射实体设备、响应检查列表等的代码,如何从SQL转换为JPQL?能否显示映射实体设备、响应检查列表等的代码?