我的表结构如下
table user: iduser, firstName, lastName, username, email, dateJoined, dateOfBirth, password
table tag : idtag, tagName
table post: idpost, title, content, iduser, date, dateCreated
table post_tag : idpost, idtag :-join table for many to many relationship for tag and post
table user_tag : iduser, idtag :-join table for many to many relationship for user and tag
我想要的是使用 JPA 查询的特定用户的标签名称。我还想为用户检索帖子,我可以使用以下 NamedQuery 检索该帖子
SELECT p FROM Post p WHERE p.user = :user ORDER BY p.dateCreated DESC
使用它,我成功地为用户检索帖子,因为 Post 和 user 都是实体并且是有效的 JPA 查询
但是当我尝试检索特定的标签时,就像我为用户检索帖子一样,所以我尝试编写一个类似这样的连接查询
SELECT t.tagName FROM tag t JOIN user_tag ut ON ut.idtag = t.idtag JOIN user u ON ut.iduser = u.iduser WHERE u.username = :username
但由于 user_tag 不是实体类型,因此该查询的 Eclipse 投诉。我无法使用可以检索用户标签的 JPA QL 来制定连接查询
非常感谢任何帮助。