0

我正在尝试在我的 Java EE 应用程序中实现“跟随机制”。我有一个实体配置文件,其中包含一个列表,它是用户遵循的配置文件的列表。Le 关系是 (@OneToMany)。

一切都很好,听起来很棒,但我有一个问题。像这样的查询:

Query q = em.createQuery("SELECT p FROM Profile p WHERE p.id =:custId");

返回一个 Profile p,到目前为止,没有问题。但我注意到我拥有我的关注用户的完全访问权限,以及我所有关注用户的关注,等等。我看不出有出路。

我可以替换仅包含 id 的数组中的 List,但前提是它是唯一的选择。有任何想法吗?我可以通过不让她获取我的每个关注用户的关注列表来“停止”查询吗?

4

1 回答 1

0

我认为你需要重构你的 API。不要将关注者列表存储在配置文件类中,创建一个服务,例如 ProfileService 并在您想要访问特定配置文件的关注者列表时调用它。

public class ProfileService {

    public List<Profile> getFollowers(Profile profile) {
       Query q = em.createQuery("SELECT p FROM Profile p WHERE p.id =:custId");
       .....
    }
}
于 2016-02-17T21:11:23.357 回答