这两条指令之间的性能有何不同?

时间:2010-06-23 16:41:03

标签: java hibernate orm criteria performance

我有以下标准规范,并想知道它们的性能或内存使用情况是否有任何差异。 第一种方式:

criteria.add(Restrictions.eq("case.estadoOperativo", Caso.EstadoOperativo.COMPLETADO))
        .add(Restrictions.eq("case.estadoAdministrativo", Caso.EstadoAdministrativo.TARIFICADO));
第二种方式:

criteria.add(Restrictions.eq("case.estadoOperativo", Caso.EstadoOperativo.COMPLETADO));
criteria.add(Restrictions.eq("case.estadoAdministrativo",Caso.EstadoAdministrativo.TARIFICADO));

3 个答案:

答案 0 :(得分:4)

没有区别,add方法返回this(对于方法链接),而不是新实例。

答案 1 :(得分:1)

不。来自http://docs.jboss.org/hibernate/core/3.3/api/

的api文档
add(Criterion criterion)
    Add a restriction to constrain the results to be retrieved.

您尚未实际检索到任何结果。在您致电.list()

之前,您的所有限制都不重要

答案 2 :(得分:1)

简而言之,没有。编译后,criteria.add和.add将在功能上相同。有可能一个或另一个编译时会稍微快一点,但差别在于几纳秒的编译时间并且在运行时没有差异。