0
我目前在播放框架1.2.4 JPA有問題。Playframework發送2查詢獲取查詢
我需要在一個單獨的數據庫中有一個UserOptions模型,並且想要在一個查詢中只需要它就會加入它。
在這個查詢中,我想加載選項並通過搜索我發現只能通過使用連接查詢來完成。
如果我使用eager而不是oder懶惰,通過使用User.findById()並且選項和用戶在一個查詢中找到,一切都會好起來的。
但是,當我使用「左連接提取」查詢時,play會發送兩個查詢。因此,繼承人查詢:
User.find("
SELECT
user
FROM
User user
LEFT JOIN FETCH
user.options options
WHERE
user.id = ?
", Long.parseLong(id)).first();
這裏的模型:
@Entity
public class User extends Model
{
@OneToOne(mappedBy = "user", fetch = FetchType.LAZY)
public UserOptions options;
// ...
}
@Entity
public class UserOptions extends Model
{
@OneToOne(fetch = FetchType.LAZY)
public User user;
}
的問題是,爲什麼打發送兩個查詢抓取查詢?
在此先感謝
另一個問題:當我使用findById時,緩存請求。當我用查詢使用find時,play不會。也許這是同一個問題。如何製作播放緩存用戶? – michiruf