如何在带有集合的参数上使用休眠搜索条件

问题描述 投票:0回答:1

我有几个实体,其中一个实体的Set参数包含这样的参数,该参数包含来自多对多连接的其他实体,如下所示(为简单起见,我仅使用其中两个)。如何使用搜索条件过滤ID为== 1的头像的用户?

@Entity
public class User
{
    @Id
    private String loginId;
    private String screenName;
    @ManyToMany(mappedBy = "user")
    private Set<Avatar> avatars;
}

@Entity
public class Avatar
{
    @Id
    private Integer id;
    @ManyToMany
    @JoinTable(
        name = "user",
        joinColumns = @JoinColumn(name = "id"),
        inverseJoinColumns = @JoinColumn(name = "loginId"))
    private User user;
    private String url;
}
java hibernate
1个回答
0
投票

您可以使用本机查询来获取所需的内容。语法如下所示:

 @Query(
    value = "select * from ...",
    nativeQuery = true
)

也许您可以在不影响业务逻辑的情况下从数据库重构表。我不知道您有什么要求,但我认为您可以使用@ManyToOne。

© www.soinside.com 2019 - 2024. All rights reserved.