2013-05-14 47 views
2

使用Java语言在从Hibernate执行UPDATE时可以获取本机SQL查询吗?休眠:更新 - 如何获得本机SQL查询

例如,我有

session.update(something); 

发言,我想检索包含UPDATE操作背后的SQL查询String(或别的东西)。


我想要有效的查询,Hibernate“发送”到MySQL。

+0

u能解释clearly.Which字符串? – PSR 2013-05-14 10:19:52

+2

我相信这页推荐你需要的东西: http://stackoverflow.com/questions/2536829/hibernate-show-real-sql – 2013-05-14 10:22:13

回答

1

以编程方式获取查询是不可能的(或者至少在不编码特定数据库的情况下不可能):SQL查询依赖于您使用hibernate进行交互的数据库,并且通常不能通过hibernate直接访问它取决于数据库驱动程序。

查看实际SQL语句的最佳方法是查看数据库的日志文件。

2

你有两个选择......

  • 你可以设置你的persistance.cfg.xml <property name="show_sql">true</property>,但这不会在参数显示的数值,公正?

  • 您可以(我的首选选项)使用SQL事件探查器(如果您使用的是MS SQL)来确切地查看针对数据库运行的SQL是什么。