我有这个查询,我需要在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 )
什么是hql等效于此sql查询?
请在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);