Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQLQuery.uniqueResult()执行本机SQL插入和更新_Sql_Sql Server_Hibernate_Insert_Native - Fatal编程技术网

使用SQLQuery.uniqueResult()执行本机SQL插入和更新

使用SQLQuery.uniqueResult()执行本机SQL插入和更新,sql,sql-server,hibernate,insert,native,Sql,Sql Server,Hibernate,Insert,Native,我在我的项目中使用Hibernate,在某种情况下,我想在org.Hibernate.SQLQuery类上使用uniqueResult()方法来执行本机SQLINSERT和UPDATE操作 我确实尝试在同一个类上使用executeUpdate()方法。但是我得到一个错误,说它们只用于HQL更新 请告知这是否是确保在数据库中保存/更新数据的有效且可靠的方法。会话。createSQLQuery()用于查询,而不是操作。如果要执行原始SQL插入,请使用session.connection()和直接的J

我在我的项目中使用Hibernate,在某种情况下,我想在org.Hibernate.SQLQuery类上使用uniqueResult()方法来执行本机SQLINSERTUPDATE操作

我确实尝试在同一个类上使用executeUpdate()方法。但是我得到一个错误,说它们只用于HQL更新


请告知这是否是确保在数据库中保存/更新数据的有效且可靠的方法。

会话。createSQLQuery()
用于查询,而不是操作。如果要执行原始SQL插入,请使用
session.connection()
和直接的JDBC代码


我不知道你为什么需要这个,但我也建议你检查一下。

谢谢帕斯卡。但是,session.connection()会在当前Hibernate会话的事务边界内工作吗?实际上,我想为一些插入和更新执行本机SQL,出于性能原因,需要使用原始SQL。此外,我正在使用一个数据库,它的模式没有针对实体进行设计/优化,因此我很难让Hibernate很好地使用它。我正在使用uniqueResults()进行一些插入,它适用于大多数位置,但在某些情况下无法插入数据。因此,我想用传统的JDBC方式来实现它。@RanganathKini:
session.connection()
返回基础JDBC连接,因此,是的,它将在当前事务的边界内工作。