<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Matias Paterlini : hibernate</title><link>http://weblogs.asp.net/paterlinimatias/archive/tags/hibernate/default.aspx</link><description>Tags: hibernate</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Hibernate error: "could not execute native bulk manipulation query"</title><link>http://weblogs.asp.net/paterlinimatias/archive/2008/09/03/hibernate-error-quot-could-not-execute-native-bulk-manipulation-query-quot.aspx</link><pubDate>Wed, 03 Sep 2008 21:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6596473</guid><dc:creator>paterlinimatias</dc:creator><author>paterlinimatias</author><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/paterlinimatias/rsscomments.aspx?PostID=6596473</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/paterlinimatias/commentapi.aspx?PostID=6596473</wfw:comment><comments>http://weblogs.asp.net/paterlinimatias/archive/2008/09/03/hibernate-error-quot-could-not-execute-native-bulk-manipulation-query-quot.aspx#comments</comments><description>&lt;p&gt;I was getting this error:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;exception: org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;After looking in more than &lt;b&gt;25 google results&lt;/b&gt; I couldn't find any clue about what could be happening. But somehow I got&lt;span style="cursor: pointer;" mce_style="cursor: pointer;" onclick="dr4sdgryt2(event)"&gt; illuminated and found what was happening. That's why I'm writing this post.&lt;br&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This was my code before I saw the problem:&lt;/p&gt;
&lt;div style="margin: 0pt auto; width: 95%;" mce_style="margin: 0pt auto; width: 95%;"&gt;
&lt;div class="java java" style="border: 1px solid rgb(208, 208, 208); font-family: monospace; color: rgb(0, 0, 102); background-color: rgb(240, 240, 240);" mce_style="border: 1px solid #d0d0d0; font-family: monospace; color: #000066; background-color: #f0f0f0;"&gt;
&lt;ol&gt;&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky" mce_href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span class="kw3"&gt;String&lt;/span&gt;&lt;/a&gt; del &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="st0"&gt;"DELETE VotableNode vn WHERE vn.votingSetBucketId = "&lt;/span&gt; &lt;span class="sy0"&gt;+&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainteger+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky" mce_href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainteger+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span class="kw3"&gt;Integer&lt;/span&gt;&lt;/a&gt;.&lt;span class="me1"&gt;toString&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;bucketId&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class="li1"&gt;
&lt;div class="de1"&gt;session.&lt;span class="me1"&gt;createSQLQuery&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;del&lt;span class="br0"&gt;)&lt;/span&gt;.&lt;span class="me1"&gt;executeUpdate&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Let Me tell you something about this error. I'm not a hibernate
crack, but as you can see it's saying that you can't create a bulk
delete on a sql query by using hibernate.&lt;/p&gt;
&lt;p&gt;The error in this code is that I was executing a HQL script using &lt;span class="me1"&gt;createSQLQuery&lt;/span&gt;&lt;span class="br0"&gt; method which is completely wrong, I should use createQuery. &lt;/span&gt;&lt;/p&gt;
&lt;div style="margin: 0pt auto; width: 95%;" mce_style="margin: 0pt auto; width: 95%;"&gt;
&lt;div class="java java" style="border: 1px solid rgb(208, 208, 208); font-family: monospace; color: rgb(0, 0, 102); background-color: rgb(240, 240, 240);" mce_style="border: 1px solid #d0d0d0; font-family: monospace; color: #000066; background-color: #f0f0f0;"&gt;
&lt;ol&gt;&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky" mce_href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Astring+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span class="kw3"&gt;String&lt;/span&gt;&lt;/a&gt; del &lt;span class="sy0"&gt;=&lt;/span&gt; &lt;span class="st0"&gt;"DELETE VotableNode vn WHERE vn.votingSetBucketId = "&lt;/span&gt; &lt;span class="sy0"&gt;+&lt;/span&gt; &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainteger+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky" mce_href="http://www.google.com/search?hl=en&amp;amp;q=allinurl%3Ainteger+java.sun.com&amp;amp;btnI=I%27m%20Feeling%20Lucky"&gt;&lt;span class="kw3"&gt;Integer&lt;/span&gt;&lt;/a&gt;.&lt;span class="me1"&gt;toString&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;bucketId&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class="li1"&gt;
&lt;div class="de1"&gt;session.&lt;span class="me1"&gt;createQuery&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;del&lt;span class="br0"&gt;)&lt;/span&gt;.&lt;span class="me1"&gt;executeUpdate&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;So there's nothing much to say, &lt;b&gt;If you want to make a bulk task
like an update of multiple records or a deletion of multiple rows using
a simple query, you MUST use a HQL query.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Hope that helps a little!&lt;/p&gt;
&lt;p&gt;Matias Paterlini&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6596473" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/paterlinimatias/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://weblogs.asp.net/paterlinimatias/archive/tags/createquery/default.aspx">createquery</category><category domain="http://weblogs.asp.net/paterlinimatias/archive/tags/java/default.aspx">java</category><category domain="http://weblogs.asp.net/paterlinimatias/archive/tags/bulk/default.aspx">bulk</category><category domain="http://weblogs.asp.net/paterlinimatias/archive/tags/hibernate/default.aspx">hibernate</category></item></channel></rss>