Java 不设置命名查询的参数?
例如,我有一个命名查询:Java 不设置命名查询的参数?,java,jpa,jpql,Java,Jpa,Jpql,例如,我有一个命名查询: @NamedQuery(name = "Students", query = "SELECT s FROM Student WHERE s.active = 'Y' OR s.name= :name) 有时我想用一个值来设置'name'参数,有时不需要。如果我没有设置它,是否会导致错误?您必须始终设置它。否则-创建两个查询-一个带param,一个不带param。您可以将公共部分放在常量中(static final)我找到了如下解决方案: if (my test cri
@NamedQuery(name = "Students", query = "SELECT s FROM Student WHERE s.active = 'Y' OR s.name= :name)
有时我想用一个值来设置'name'参数,有时不需要。如果我没有设置它,是否会导致错误?您必须始终设置它。否则-创建两个查询-一个带param,一个不带param。您可以将公共部分放在常量中(
static final
)我找到了如下解决方案:
if (my test criteria){
query.setParameter("name", "name of a student");
} else {
query.setParameter("name", " ");
}
我正在使用空格字符设置name参数,使其正常工作。相关: