【发布时间】:2014-09-24 07:11:00
【问题描述】:
我在 Hibernate 中使用 createSQLQuery 和 setString(无硬编码值)。我想知道 Hibernate 是使用 PreparedStatement 代替 createSQLQuery 吗?
关注:
我想将此查询创建的执行计划保存在缓存中,以便下次在数据库上触发相同的查询时,它将使用相同的执行计划。
仅供参考:我使用的是 MSSQL Server 2008
/* This is just example I'm not using same query */
Query nativeSQLQuery = session.createSQLQuery("select Firstname from user_master where user_name = :param");
nativeSQLQuery.setString("param", "vicky.thakor");
我找不到 stackoverflow 链接,甚至在 google 中都找不到,因此请提供链接(如果有)。
【问题讨论】:
-
每次想要执行查询时都使用 nativeSQLQuery。执行前设置参数即可。
-
@Darshan Lila 让你的回答有些道理。你的答案没有任何意义......
标签: java sql sql-server hibernate