第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過 Spring 數(shù)據(jù)計算 OneToMany 元素的項目

如何通過 Spring 數(shù)據(jù)計算 OneToMany 元素的項目

慕萊塢森 2023-05-24 15:32:44
我有一個用戶實(shí)體:@Entity@Table(name = "user")@Datapublic class UserEntity extends BaseEntity {    @Column(name = "full_name")    private String fullName;    ....    @OneToMany(cascade = CascadeType.REMOVE)    @JoinTable(name = "user_post",            joinColumns = {@JoinColumn(name = "user_id")},            inverseJoinColumns = {@JoinColumn(name = "post_id")})    private Set<PostEntity> posts;    @ManyToMany    @JoinTable(name = "user_followers",            joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},            inverseJoinColumns = {@JoinColumn(name = "follower_id", referencedColumnName = "id")})    private Set<UserEntity> followers = new HashSet<>();    @ManyToMany    @JoinTable(name = "user_followings",            joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},            inverseJoinColumns = {@JoinColumn(name = "following_id", referencedColumnName = "id")})    private Set<UserEntity> followings = new HashSet<>();}現(xiàn)在我想計算一個用戶的關(guān)注者。我可以獲得關(guān)注者列表并使用 list.size() 但這并不好。我只想計算它們而不是整個對象。這可以通過我的 UserRepostiory 中擴(kuò)展 JpaRepostiory 或本機(jī)查詢的方法實(shí)現(xiàn)嗎?
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊

我建議你使用 JPQL 語法。在UserRepository你可以添加計數(shù)方法。請嘗試 :


@Query("select count(p) from User u join u.posts p where u.id = ?1")

long countPosts(Long id);


@Query("select count(f) from User u join u.followers f where u.id = ?1")

long countFollowers(Long id);


@Query("select count(f) from User u join u.followings f where u.id = ?1")

long countFollowings(Long id);


查看完整回答
反對 回復(fù) 2023-05-24
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號