2014-10-02 61 views
0

我是新來的標準api,並試圖建立一個選擇查詢,其中id匹配id。Java標準的API - 從表中選擇*,其中id = id

我想建立這樣的:

SELECT * FROM movie WHERE id = id(input var) 

到目前爲止,我有這個與輸入變量ID作爲long

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); 
    CriteriaQuery<Movie> critQuery = criteriaBuilder.createQuery(Movie.class); 
    Root<Movie> rootMovie = critQuery.from(Movie.class); 
    critQuery.select(rootMovie).where(rootMovie.get("movieId"), id); 

這將創建錯誤,無法正常工作。任何想法如何使其工作?

錯誤: 的方法,其中在類型CriteriaQuery中(表達)是不適用的參數(路徑,龍)

+3

添加的錯誤信息請。 – Jens 2014-10-02 11:48:56

+0

我不知道API應該如何工作,但是你在'critQuery.select(rootMovie)。(rootMovie.get(「movieId」,id);' - does' get丟失了一個右括號'實際上有兩個參數? – khelwood 2014-10-02 11:51:38

+0

提出了一個錯字+添加了錯誤 – legopiraat 2014-10-02 11:57:05

回答

0

where條件應該是這樣的:

.where(criteriaBuilder.equal(rootMovie.get("movieId"), id)); 
相關問題