﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-semi-sleep-随笔分类-hibernate</title><link>http://www.blogjava.net/semi-sleep/category/37195.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 08 Jan 2009 13:52:18 GMT</lastBuildDate><pubDate>Thu, 08 Jan 2009 13:52:18 GMT</pubDate><ttl>60</ttl><item><title>Note for hibernate 2009.1.8 - ?</title><link>http://www.blogjava.net/semi-sleep/archive/2009/01/08/250516.html</link><dc:creator>semi-sleep</dc:creator><author>semi-sleep</author><pubDate>Thu, 08 Jan 2009 09:29:00 GMT</pubDate><guid>http://www.blogjava.net/semi-sleep/archive/2009/01/08/250516.html</guid><wfw:comment>http://www.blogjava.net/semi-sleep/comments/250516.html</wfw:comment><comments>http://www.blogjava.net/semi-sleep/archive/2009/01/08/250516.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/semi-sleep/comments/commentRss/250516.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/semi-sleep/services/trackbacks/250516.html</trackback:ping><description><![CDATA[1. When automatic versioning is used, hibernate generates the following sql:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;products&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;version</span><span style="color: #808080">=</span><span style="color: #000000">?,&nbsp;name</span><span style="color: #808080">=</span><span style="color: #000000">?,&nbsp;description</span><span style="color: #808080">=</span><span style="color: #000000">?,&nbsp;unitCost</span><span style="color: #808080">=</span><span style="color: #000000">?,&nbsp;pubTime</span><span style="color: #808080">=</span><span style="color: #000000">?&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;id</span><span style="color: #808080">=</span><span style="color: #000000">?&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;version</span><span style="color: #808080">=</span><span style="color: #000000">?</span></div>
Note that using such sql, you don't need to select the version from database to compare with current version. <br />
<br />
2. Other ways to resolve LazyInitializationException, except Open Session in View. <br />
<br />
3. Note that for the Transaction in jta, you can register a Synchronization, though this you can be informed before or aftter&nbsp;transaction commit, is Hibernate use this way to flush? (Transaction manager manage Transaction by begin / suspend / getTransaction / setTransactionTimeout, its other&nbsp;methods just delegate to Transaction).
<img src ="http://www.blogjava.net/semi-sleep/aggbug/250516.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/semi-sleep/" target="_blank">semi-sleep</a> 2009-01-08 17:29 <a href="http://www.blogjava.net/semi-sleep/archive/2009/01/08/250516.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>