【发布时间】:2010-05-20 18:53:00
【问题描述】:
我正在使用 Spring HibernateTemplate,并且需要每秒向 mysql 数据库中插入数百条记录。
不确定什么是最高效的方法,但我想看看多值 mysql 插入是如何使用休眠的。
String query = "insert into user(age, name, birth_date) values(24, 'Joe', '2010-05-19 14:33:14'), (25, 'Joe1', '2010-05-19 14:33:14')"
getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
return session.createSQLQuery(query).executeUpdate();
}
});
但我收到此错误: '无法执行本机批量操作查询。'请检查您的查询.....
知道我可以通过 Hibernate 使用多值 mysql 插入吗?还是我的查询不正确?
还有其他方法可以提高性能吗?我确实尝试了 saveOrUpdateAll() 方法,但还不够好!
【问题讨论】:
-
您找到解决方案了吗?
-
我确信您的真实代码不会这样做,而是使用准备好的语句,否则您会将查询缓存从水中吹走......并且您将自己敞开心扉到处都是sql注入。 cf 小鲍比桌。 (xkcd.com/327)
-
+1 用于 Bobby Tables 参考
-
以各种可能的方式生气。谢谢。
-
如果您想删除一个问题,只需将其删除即可。不要简单地编辑内容;无论如何都会保留问题历史记录。