gpt4 book ai didi

mysql - EJBQL/HQL 命名参数列表

转载 作者:行者123 更新时间:2023-11-30 23:42:13 26 4
gpt4 key购买 nike

我正在尝试在 MySQL+JBoss+Hibernate 应用程序中执行一个很长的 'INSERT ON DUPLICATE KEY UPDATE',最多有几千行。它看起来像:

INSERT INTO Table (field1, field2, field3) VALUES
(value1_1, value2_1, value3_1),
(value1_2, value2_2, value3_2),
(value1_3, value2_3, value3_3),
...
ON DUPLICATE KEY UPDATE ...

这作为 native 查询工作正常,我在循环中构建查询字符串,但长查询字符串本身保留在 Hibernate 查询计划缓存中并占用大量堆空间。所以我想知道是否可以参数化此查询,以便它只在查询计划缓存中存储一​​次。

有没有办法像这样参数化元组列表?理想情况下,我可以在 setParameter() 中传入一组 { value1, value2, value3 } 集合。使用 (:value1, :value2, :value3) 运行数以千计的单行更新非常容易,但这会带来显着的(2-3 倍)性能成本。

提前致谢。

最佳答案

看看Hibernate batch inserts文档部分。

关于mysql - EJBQL/HQL 命名参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134351/

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