查询转换-Sql到Hql
我有这个查询,我需要在hql中转换它,但我有点困惑,不知道如何编写hql中的where子句中的条件查询转换-Sql到Hql,sql,hibernate,hql,Sql,Hibernate,Hql,我有这个查询,我需要在hql中转换它,但我有点困惑,不知道如何编写hql中的where子句中的条件 SELECT message FROM p_message WHERE message_id=( SELECT a.scene FROM p_config a INNER JOIN p_rec_type b ON
SELECT
message
FROM
p_message
WHERE
message_id=(
SELECT
a.scene
FROM
p_config a
INNER JOIN
p_rec_type b
ON a.email_id=b.email_id
AND rec_type=2
WHERE
a.email_type=1
)
此sql查询的hql等价物是什么?请在hql查询下面找到: 假设p_message和p_config是域对象名,其他是映射到列的属性
String hqlQuery =" SELECT message FROM p_message pm WHERE pm.message_id in (SELECT a.scene FROM p_config a INNER JOIN p_rec_type b ON a.email_id=b.email_id AND rec_type =:rectype WHERE a.email_type=:emailTYpe)";
query = session.createQuery(hqlQuery);
query.setParameter("rectype", 2);
query.setParameter("emailTYpe", 1);
您可以只使用hibernates本机查询功能。请告诉我如何为该查询编写代码?您需要显示相关实体和映射信息。请记住,Hibernate HQL处理您的域(对象)模型。