gpt4 book ai didi

java - setParameter 和 hibernate 中设置特定类型参数的区别

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:42:47 25 4
gpt4 key购买 nike

Hibernate 的 Query类具有任何类型的原始参数的 setter ,例如 setString setBoolean setLong 等,但它也有一个 setParameter接收 Object 并可以替换所有其他 setter 的方法。

既然它们没有被弃用,那么在性能方面使用特定类型参数有什么优势吗?setParameter 是否应该仅与自定义对象一起使用?

最佳答案

基于对 hereQuery 类实现的粗略阅读.

is there any advantage to using specific type parameters in terms of performance?

是的,就像你直接调用setParameter函数一样,hibernate需要“猜测”对象的类型。但是,看起来那些方法(setStringsetBoolean 等)只是一种设置参数的便捷方法。因为,最终,这些函数将调用函数 setParamater(int,Object,Type)。即,与 setParameter 函数相同。

Should setParameter be used only with custom Objects?

没有必要。我的意思是,您仍然可以使用 Integer 或其他包装类(BooleanFloat 等)。只是,hibernate 需要执行额外的操作来检查值的类型并正确处理它。

关于java - setParameter 和 hibernate 中设置特定类型参数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com