java—使用一组ID作为参数从jpa中的本机查询调用sql函数

0ejtzxu1  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(230)

我的oracle数据库中有一个函数。我需要的只是用一个参数将其扩展为一组ID,并检查是否有来自此集合中另一个联接表的ID。

FUNCTION TEST(
    group_ids FUNCTIONAL_GROUP_IDS -- I'm not sure, this is composite type 
                                      create type  FUNCTIONAL_GROUP_IDS as table of NUMBER(18)
)
RETURN ...

BEGIN
   ...
   LEFT JOIN GROUPS gr ON gr.ID = emp.GROUP_ID AND gr.ID IN group_ids <-- ??? Is it right?
   ...
END

本机查询绑定:

@Query(nativeQuery = true, value =
    "select * " +
    "  from table (TEST( " +
    "    group_ids => :groupIds "
    "  )) result ")
List<SomeEntity> search(@Param("groupIds") Collection<Long> groupIds);

问题是我必须在oracle函数中使用哪种类型,以及如何将其与springdatajpa中的本机查询进行Map?
顺便说一句,我的错误-ora-06553:pls-306:调用“test”时参数的数目或类型错误

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题