本机查询返回h2上的结果,但不返回jpa存储库中的结果

时间:2019-01-18 22:14:13

标签: sql spring kotlin spring-data-jpa

我为用户提供以下实体。

data class User(
    @Id
    var userId: UUID,
    val orgId: UUID,

    @ManyToMany
    var representatives: MutableList<User>
)

此表格如下:

USER                        USER_REPRESENTATIVES
  --USER_ID                    --USER_USER_ID  
  --ORG_ID                     --REPRESENTATIVES_USER_ID

一个用户可以有很多代表,并且可以自己代表另一个用户。我想创建一个查询,该查询将使我获得当前用户所代表的用户列表。

在h2控制台中,当我使用以下查询时,我可以通过以下查询实现我想要的:

SELECT USER_USER_ID FROM USER_REPRESENTATIVES
            WHERE EXISTS ( 
            SELECT USER_ID FROM USER 
            WHERE USER_REPRESENTATIVES.REPRESENTATIVES_USER_ID = USER.USER_ID)

但是,当我尝试在jpa信息库中实际运行此命令时,调用本身没有任何帮助。这是我在存储库中使用的代码:

@Query(value = "SELECT USER_USER_ID FROM USER_REPRESENTATIVES " +
            "WHERE EXISTS ( " +
            "SELECT USER_ID FROM USER " +
            "WHERE USER_REPRESENTATIVES.REPRESENTATIVES_USER_ID = USER.USER_ID)",
            nativeQuery = true)
    fun getUserRepresentativeFor(): MutableList<UUID>

在春季/ kotlin方面,我在尝试调用该函数时什么都收不到的事情是怎么做的?

0 个答案:

没有答案