我在这里有一个看似愚蠢的问题。
我有一个 CardUser 实体和一个 Card 实体,其中每张 Card 属于一个 CardUser 并且 CardUser 可以有多个 Card,都是简单的一对多关系。
然后我有一个查询来找出给定卡的用户是什么:
select c from CardUser c left join c.cards cc where cc = ?1
我有一个调用查询的方法:
public CardUser findUserByCard(Long cardId);
我的问题是:
我必须将 ?1 绑定到 Card 实例吗?我必须先用 cardId 获取 Card 实例,然后在查询中绑定它,这在实现中看起来很愚蠢。这是对数据库的双重访问,最后,数据库实际上只使用了 cardId。
谢谢。