我编写了以下代码(作为CriteriaBuilder实例cb
):
String someString = "someValue";
Predicate p = cb.equal(
somePath,
cb.parameter(String.class, "someParameter"));
// TODO create query, bind someParameter to someString
但以下工作也是如此:
String someString = "someValue";
Predicate p = cb.equal(
somePath,
someString);
除了类型检查,还有其他区别吗?当JPA提供程序解析查询时,性能是否相同?
答案 0 :(得分:0)
由于您使用Criteria动态创建两个查询,因此应该没什么区别。最好的方法是使用JPQL进行名称查询,这样可以避免任何解析和准备成本。