JPA-EclipseLink,将List作为位置参数传递给NamedNativeQuery

时间:2017-04-27 19:27:07

标签: jpa

因此,named 不接受AFAIK,Native Queries参数,}他们不允许List作为参数,我想如果我“解析“List为逗号分隔的字符串,我可以将此字符串传递给IN参数,这可能吗?

我知道JPQL确实允许前面提到的品质,但我的查询在SQL,我需要很多来“翻译”{{1}因为我不是这个主题的专家,而且查询非常大。

还有哪些其他解决方案 JPA-wize

我需要能够将SQL -> JPQL传递给List<Long>的{​​{1}}条款。

提前致谢。

修改

虽然,在实现“parse List - &gt; String”时,我得到了

IN

所以,除非我做错了,否则我认为这是不可能的?

@NamedNativeQueries

然后:

java.sql.SQLSyntaxErrorException: ORA-01722: Invalid number

解析列表来自:

@NamedNativeQuery(
        name = "Client.findTestWidgetResultList",
        query = ""
                + "SELECT DISTINCT sa.event_user_id, "
                + "           CASE WHEN sa.passed_flag = 'Y' "
                + "        THEN 'P' "
                + "        ELSE 'F' "
                + "        END "
                + "    test_result "
                + "FROM survey_attempts sa "
                + "    JOIN event_user eu ON eu.event_user_id = sa.event_user_id "
                + "    JOIN event_user_x_answer eua ON eua.event_user_id = eu.event_user_id "
                + "    JOIN event e ON sa.event_id = e.event_id "
                + "WHERE sa.session_id = 1 "
                + "AND sa.survey_code = 'test1' "
                + "AND sa.event_user_id IN (?1) ")

0 个答案:

没有答案