spring jpa 针对复合主键如何通过 @Query 查询?

作者站长头像
站长
· 阅读数 18

spring jpa 针对复合主键如何通过 @Query 查询?

    @Query("select count(id) from UserRecommendedEntity where id.userId = :userId and isLike = :isLike")
    int countByUserIdAndIsLike(Long userId, int isLike);

上面代码ide会提示无法解析的字段 id.userId。我的 UserRecommendedEntity 代码如下:

@Data
@Accessors(chain = true)
@Entity
@Table(name = "user_recommended")
public class UserRecommendedEntity {

    @EmbeddedId
    private UnionId id;

    @Column(name = "is_like")
    private Integer isLike;

    @Column(name = "created_at")
    private String createdAt;

    @Data
    public static class UnionId implements Serializable {
        @Column(name = "user_id")
        private Long userId;

        @Column(name = "recommended_user_id")
        private Long recommendedUserId;
    }
}

回复
1个回答
avatar
test
2024-06-23

IDE提示问题;实际代码可运行。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容