我正在努力应对JPQL动态条件。我尝试搜索相同的语法但coluldn找不到。
在我的情况下,如果用户传递name参数,那么select查询应该是
从用户中选择*,其中name =' sanjay'
如果用户没有传递name参数,那么select query应该是
select * from user
以下是我的jpql查询格式,在未传递name参数时失败。
entity_manager.createQuery("select u from user u where u.name = :name").setParameter("name",params[:name]).getResultList()
如何更新上面的JPQL查询以支持这两种情况,即传递name参数和未传递name参数时?
答案 0 :(得分:0)
这在JPQL中是不可能的。你甚至不能做像
这样的事情createQuery("select u from user u where u.name = :name OR :name IS NULL")
这是不可能的。那么简单。使用两个查询或使用 Criteria API 。