Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询转换-Sql到Hql_Sql_Hibernate_Hql - Fatal编程技术网

查询转换-Sql到Hql

查询转换-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

我有这个查询,我需要在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 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处理您的域(对象)模型。