今天剛剛開始使用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查詢加入表
- 3. JPA命名查詢加入
- 4. JPA/Hibernate加入查詢
- 5. JPA多個查詢加入
- 6. JPA:轉換SQL查詢JPA查詢
- 7. JPA查詢 - 位置參數sql注入jpa本地查詢
- 8. JPA Spring查詢sql
- 9. Sql jpa查詢ManyToOne
- 10. SQL查詢 - 加入的對面?
- 11. 加入JPA中的命名查詢
- 12. 加入SQL查詢
- 13. SQL查詢加入
- 14. 查詢Sql加入
- 15. 加入sql查詢
- 16. SQL查詢:加入
- 17. SQL查詢加入
- 18. SQL查詢 - 加入
- 19. JPA中的SQL查詢
- 20. 多對多SQL查詢加入
- 21. CakePHP的 - SQL查詢加入
- 22. 加入的SQL子查詢
- 23. 春數據JPA加入子查詢
- 24. 不必要加入JPA子查詢
- 25. JPA或查詢加入2個表
- 26. JPA查詢註釋和加入表
- 27. 加入表和子查詢在JPA
- 28. 針對DTYPE的JPA查詢
- 29. 如何將此SQL查詢寫入JPA查詢
- 30. 如何對JPA查詢的子查詢強加LIMIT?
您能否描述您的域模型?否則很難在編寫JPQL查詢時給你提供建議。 – 2010-11-02 21:02:50