【发布时间】:2014-12-28 15:52:45
【问题描述】:
我有一些参数可以为空,也可以不为空。
我想要做的是只使用不为空的参数执行查询。
例如我有:
String param1;
String param2;
我想做这样的事情:
If ( param1 != null && param2 != null ) {
Query q = em.createQuery("SELECT a FROM Advert where a.property = param1 and a.property2= param2);
}
if( param1 == null && param2 != null ) {
Query q = em.createQuery("SELECT a FROM Advert where a.property2= param2")
}
if( param1 != null && param2 == null ) {
Query q = em.createQuery("SELECT a FROM Advert where a.property= param1");
}
是否可以不使用 if 语句来做到这一点 但使用 jpql 查询字符串? (因为我有两个以上的参数,查看这么多情况不太方便)
【问题讨论】:
-
这就是条件 API 的用途:动态构造查询。