首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJBQL/HQL中命名参数列表

EJBQL/HQL中命名参数列表
EN

Stack Overflow用户
提问于 2010-01-26 01:52:54
回答 1查看 591关注 0票数 1

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

代码语言:javascript
复制
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 ...

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

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

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2010-01-26 05:14:29

请看一下文档的Hibernate batch inserts部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2134351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档