今天刚刚开始使用JPA,所以我非常喜欢它。
如何在JPA中说"SELECT login.ID, userID, logInTime, logOutTime, user.ID AS 'uID', surname FROM login, user WHERE login.userID = user.ID"
?
我需要通过用户ID连接两个表。
我在网上浏览了几个教程,但无法找到对此的赞赏。
Thanx!对JPA的SQL查询加入
2
A
回答
0
假设登录和用户现在对象,并且还假定登录和用户之间的关系是一个用户有许多登录将是这样
select
L.ID,
u.userID,
L.logInTime,
L.logOutTime,
u.ID
from
User U,
IN(u.logins) L /*note that the IN makes the inner join between Login and user*/
Renember财产以后我假设之间的映射实体
2
JPQL查询是针对对象而不是表写的。在不知道对象是什么以及如何定义它们之间的关系的情况下编写查询是不可能的。
您需要先创建代表Login
和User
的实体对象。您可以映射它们之间的关系,然后成为查询的连接。
3
疯狂猜测我猜你的域名模型至少包含两个实体User
和Login
,后者表示类似于会话。 (基数User
-1:N- Session
)
我想象中的实体:
@Entity
class User {
@OneToMany(mappedBy="user")
private List<Login> logins;
...
}
@Entity
class Login {
@ManyToOne
private User;
...
}
检索所有Login
S:
jpql: "from Login"
(关联User
对象由取在@ManyToOne方面,默认的提取类型是渴望提取。)
检索所有User
S:
jpql: "select u from User u join fetch u.logins"
(关联List<Login>
对象默认情况下不取。在@OneToMany侧的默认获取类型是延迟抓取)
开始使用JPA:。openJPA documentation (看看对实体设计和第10章章JPQL 4和5的OpenJPA的一般JPA零件文档符合所有JPA实现。)
PS如果你在你的问题中提供更多的细节,会更容易。
相关问题
- 1. JPA多个查询加入
- 2. JPA/Hibernate加入查询
- 3. JPA查询加入表
- 4. JPA查询 - 位置参数sql注入jpa本地查询
- 5. JPA Spring查询sql
- 6. 加入JPA中的命名查询
- 7. SQL查询 - 加入
- 8. 查询Sql加入
- 9. 加入表和子查询在JPA
- 10. 春数据JPA加入子查询
- 11. 针对DTYPE的JPA查询
- 12. SQL加入/嵌套查询
- 13. 卡在SQL加入查询
- 14. Sql查询加入Oracle
- 15. SQL自加入查询
- 16. SQL查询,并加入
- 17. SQL子查询/自加入
- 18. sql查询完全加入
- 19. 自我加入-SQL-查询
- 20. SQL查询帮助加入
- 21. MS SQL加入/数查询
- 22. 升级SQL查询加入
- 23. Sql Server加入查询
- 24. 加入列SQL查询
- 25. SQL联盟/加入查询
- 26. MVC5 SQL左加入查询
- 27. 慢SQL查询加入
- 28. T-SQL加入查询
- 29. ADO.NET SQL查询加入?
- 30. SQL查询加入11
您能否描述您的域模型?否则很难在编写JPQL查询时给你提供建议。 – 2010-11-02 21:02:50