【发布时间】:2014-10-22 22:30:47
【问题描述】:
我有一个用户表
Id(key) | username | some other cols...n
还有一个表Tokens:
userID, Token (k)
Tokens中的userID被定义为users.id的外键。
我想做的是能够:给定一个 Tokens.token,从用户那里获取 col 信息。
SQL中的mysql命令是这样的:
select a.* from users a left join tokens b on a.User_Id = b.userId and b.userId = 1;
(我不知道上面是否是最优的......但它返回了我想要的)
我将如何在 JPQL 中复制它?
我熟悉的简单 select fetch 命令是:(除了使用内置命令)
String qlString = "Select p from Tokens p WHERE p.token=:token";
TypedQuery<Tokens> query = this.entityManager.createQuery(qlString,Tokens.class).setParameter("token", token);
【问题讨论】:
-
您需要
Select p form Tokens join p.user之类的东西,添加您的实体以获得更好的答案 -
@AVolpe 假设我的实体像上面那样映射.. 类用户具有 Int Id,类 Tokens 具有 int userID
标签: java mysql sql hibernate jpql