0

我编写了以下代码(作为cbCriteriaBuilder 实例):

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 提供程序解析查询时,性能是否相同?

4

1 回答 1

0

由于您是使用 Criteria 动态创建两个查询,因此应该没有什么区别。最好的办法是使用使用 JPQL 的名称查询,这将避免任何解析和准备成本。

于 2013-04-29T13:53:13.163 回答