我是条件api的新手,我正在尝试构建一个id匹配id的select查询。
我想建立这个:
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类型中的(Expression)不适用于参数(Path,Long)
的方法答案 0 :(得分:0)
您的where
条件应如下所示:
.where(criteriaBuilder.equal(rootMovie.get("movieId"), id));