简体   繁体   English

Java条件API-从ID = ID的表中选择*

[英]Java criteria API - select * from table where id = id

I am new to the criteria api and am trying to build a select query where id matches id. 我是条件api的新手,正在尝试构建id与id匹配的选择查询。

I would like to build this: 我想建立这个:

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

So far I have this with an input variable id as a long : 到目前为止,我的输入变量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);

This will create errors and doesn't work. 这将产生错误,并且不起作用。 Any ideas how to make it work? 有什么想法使它起作用吗?

error: The method where(Expression) in the type CriteriaQuery is not applicable for the arguments (Path, Long) 错误:类型CriteriaQuery中的where(Expression)方法不适用于参数(路径,长整数)

您的where条件应如下所示:

.where(criteriaBuilder.equal(rootMovie.get("movieId"), id));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM