JPA等于方法:传递ParameterExpression和Object之间的差异

时间:2013-04-28 05:16:50

标签: java jpa parameters

我编写了以下代码(作为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提供程序解析查询时,性能是否相同?

1 个答案:

答案 0 :(得分:0)

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