0
TSQL 쿼리를 HQL로 다시 작성하고 싶습니다. 다음은 HQL 쿼리로 변환하려는 T-SQL 쿼리입니다. 다음 T-SQL 쿼리가 올바르게 작동합니다.이 TSQL 쿼리에 해당하는 HQL 쿼리는 무엇입니까?
DECLARE @D_Id INT = 120
DECLARE @DR_Id INT = 1100
IF @D_Id <> 120
BEGIN
SELECT
d.D_Name
FROM
Department AS d
WHERE
d.D_Id = @D_Id
END
ELSE
BEGIN
SELECT
DR.DR_DepartmentOther
FROM
DataRequest AS DR
WHERE
DR.DR_Id = @DR_Id
END
해당 HQL 쿼리가 필요합니다.
CASE
WHEN D_Id <> 120
SELECT
D.D_Name
FROM
Department AS D
WHERE
D.D_Id = D_Id
WHEN D_Id = 120
SELECT
DR.DR_DepartmentOther
FROM
DataRequest AS DR
WHERE
DR.DR_Id = DR_Id
END
나는 다음과 같은 오류 얻을 위의 HQL 쿼리를 실행하면 :
Error while executing the Hibernate query.
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the keyword 'SELECT'.
왜에있는 쿼리를 결정하지 나는 다음과 같은 HQL 쿼리를 작성했습니다 Java 코드에서 실행 하시겠습니까? 하위 선택과 같은 https://hibernate.atlassian.net/browse/HHH-467은 지원되지 않습니다. – Andreas
Reactor (ColdFusion)에서 인라인 쿼리를 사용해야합니다. –
이 경우 나는'entityManager.createNativeQuery()'를 사용하여 원시 SQL을 실행한다. – Bohemian