<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#3e4c4e" style="background-color:#3e4c4e;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://www.jboss.org/dms/hibernate/images/jira/jiraheader_hibernate.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="https://hibernate.onjira.com/secure/useravatar?ownerId=hardy.ferentschik&avatarId=10342" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="hardy.ferentschik" id="email_hardy.ferentschik" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=hardy.ferentschik" style="color:#6c797f;">Hardy Ferentschik</a>
     updated <img src="https://hibernate.onjira.com/images/icons/bug.gif" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#6c797f;text-decoration:none;' href='https://hibernate.onjira.com/browse/HHH-7376'>HHH-7376</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#6c797f;text-decoration:none;' href='https://hibernate.onjira.com/browse/HHH-7376'><strong>JtaTransactionFactory should always set UserTransaction</strong></a>
            </div>
                    </td>
    </tr>
</table>
        
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                                                    <tr valign="top">
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Change By:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                                <a class="user-hover" rel="hardy.ferentschik" id="email_hardy.ferentschik" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=hardy.ferentschik" style="color:#6c797f;">Hardy Ferentschik</a>
                            (07/Jun/12 5:38 AM)
        </td>
    </tr>
            <tr valign="top">
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
            <strong style="font-weight:normal;color:#505050;">Description:</strong>
        </td>
        <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                    <span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br></span>
<span class="diffcontext">In&nbsp;Hibernate&nbsp;3.6.10,&nbsp;when&nbsp;creating&nbsp;JtaTransaction&nbsp;from&nbsp;JtaTransactionFactory&nbsp;&nbsp;UserTransaction&nbsp;was&nbsp;always&nbsp;setted:<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}<br></span>
<span class="diffcontext">public&nbsp;Transaction&nbsp;createTransaction(JDBCContext&nbsp;jdbcContext,&nbsp;Context&nbsp;transactionContext)&nbsp;throws&nbsp;HibernateException&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;UserTransaction&nbsp;ut&nbsp;=&nbsp;getUserTransaction();<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;JTATransaction(&nbsp;ut,&nbsp;jdbcContext,&nbsp;transactionContext&nbsp;);<br>}<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}</span>
<span class="diffcontext"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">This&nbsp;behavior&nbsp;changed&nbsp;in&nbsp;Hibernate&nbsp;4.0.1&nbsp;as&nbsp;UserTransaction&nbsp;will&nbsp;only&nbsp;get&nbsp;setted&nbsp;if&nbsp;explicitly&nbsp;beginning&nbsp;a&nbsp;new&nbsp;transaction&nbsp;;&nbsp;UserTransaction&nbsp;is&nbsp;no&nbsp;longer&nbsp;passed&nbsp;by&nbsp;the&nbsp;JtaTransactionFactory:<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}<br></span>
<span class="diffcontext">protected&nbsp;void&nbsp;doBegin()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;LOG.debug(&nbsp;&quot;begin&quot;&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;userTransaction&nbsp;=&nbsp;jtaPlatform().retrieveUserTransaction();<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;userTransaction&nbsp;==&nbsp;null&nbsp;)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;TransactionException(&nbsp;&quot;Unable&nbsp;to&nbsp;locate&nbsp;JTA&nbsp;UserTransaction&quot;&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;...<br>}<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}</span>
<span class="diffcontext"><br>This&nbsp;change&nbsp;of&nbsp;affect&nbsp;the&nbsp;JtaTransactionFactory::isJoinableJtaTransaction&nbsp;method&nbsp;behavior:<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}<br></span>
<span class="diffcontext">public&nbsp;boolean&nbsp;isJoinableJtaTransaction(TransactionCoordinator&nbsp;transactionCoordinator,&nbsp;JtaTransaction&nbsp;transaction)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Essentially:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;1)&nbsp;If&nbsp;we&nbsp;have&nbsp;a&nbsp;local&nbsp;(Hibernate)&nbsp;transaction&nbsp;in&nbsp;progress<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;it&nbsp;already&nbsp;has&nbsp;the&nbsp;UserTransaction&nbsp;cached,&nbsp;use&nbsp;that<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UserTransaction&nbsp;to&nbsp;determine&nbsp;the&nbsp;status.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;2)&nbsp;If&nbsp;a&nbsp;transaction&nbsp;manager&nbsp;has&nbsp;been&nbsp;located,&nbsp;use<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;transaction&nbsp;manager&nbsp;to&nbsp;determine&nbsp;the&nbsp;status.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;3)&nbsp;Finally,&nbsp;as&nbsp;the&nbsp;last&nbsp;resort,&nbsp;try&nbsp;to&nbsp;lookup&nbsp;the<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UserTransaction&nbsp;via&nbsp;JNDI&nbsp;and&nbsp;use&nbsp;that&nbsp;to&nbsp;determine&nbsp;the<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;transaction&nbsp;!=&nbsp;null&nbsp;)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UserTransaction&nbsp;ut&nbsp;=&nbsp;transaction.getUserTransaction();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;ut&nbsp;!=&nbsp;null&nbsp;)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;JtaStatusHelper.isActive(&nbsp;ut&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;...<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}</span>
<span class="diffcontext">        <br>Hibernate&nbsp;4.0.1:&nbsp;transaction.getUserTransaction()&nbsp;==&nbsp;null<br>Hibernate&nbsp;3.6.10:&nbsp;transaction.getUserTransaction()&nbsp;!=&nbsp;null<br><br>as&nbsp;stated&nbsp;in&nbsp;javadoc,&nbsp;if&nbsp;user&nbsp;transaction&nbsp;as&nbsp;not&nbsp;been&nbsp;set&nbsp;in&nbsp;1),&nbsp;it&nbsp;will&nbsp;fallback&nbsp;on&nbsp;jtaPlatform.retrieveTransactionManager&nbsp;2)&nbsp;and&nbsp;will&nbsp;later&nbsp;fail&nbsp;with&nbsp;&quot;proxy&nbsp;handle&nbsp;is&nbsp;no&nbsp;longer&nbsp;valid&quot;&nbsp;as&nbsp;UserTransaction&nbsp;as&nbsp;not&nbsp;been&nbsp;set.<br>see&nbsp;forum&nbsp;reference&nbsp;:&nbsp;https://forum.hibernate.org/viewtopic.php?f=1&amp;t=1014848<br><br>As&nbsp;a&nbsp;workaround&nbsp;I&#39;ve&nbsp;hacked&nbsp;the&nbsp;JtaTransaction::getUserTransaction()&nbsp;to:<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}<br></span>
<span class="diffcontext">&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;Field&nbsp;localStatus;<br>&nbsp;&nbsp;&nbsp;&nbsp;@SuppressWarnings(&nbsp;{&quot;UnusedDeclaration&quot;})<br>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;UserTransaction&nbsp;getUserTransaction()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(userTransaction&nbsp;!=&nbsp;null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;userTransaction;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userTransaction&nbsp;=&nbsp;jtaPlatform().retrieveUserTransaction();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;userTransaction&nbsp;==&nbsp;null&nbsp;)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;TransactionException(&nbsp;&quot;Unable&nbsp;to&nbsp;locate&nbsp;JTA&nbsp;UserTransaction&quot;&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(localStatus&nbsp;==&nbsp;null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localStatus&nbsp;=&nbsp;AbstractTransactionImpl.class.getDeclaredField(&quot;localStatus&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localStatus.setAccessible(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;e){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;RuntimeException(e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localStatus.set(this,&nbsp;LocalStatus.ACTIVE);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;e){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;RuntimeException(e);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;userTransaction;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}</span>
<span class="diffcontext"><br>which&nbsp;seem&nbsp;to&nbsp;resolve&nbsp;the&nbsp;issue.<br><br>Here&#39;s&nbsp;how&nbsp;Configuration&nbsp;and&nbsp;SessionFactory&nbsp;are&nbsp;created&nbsp;:<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}<br></span>
<span class="diffcontext">configuration&nbsp;=&nbsp;new&nbsp;Configuration();<br>configuration.setProperty(&quot;hibernate.connection.datasource&quot;,&nbsp;datasourceName);<br>//&nbsp;Hibernate&nbsp;Configuration&nbsp;Properties<br>configuration.setProperty(&quot;hibernate.dialect&quot;,&nbsp;&quot;com.XXX.MySQL5InnoDBDialect&quot;);<br>configuration.setProperty(&quot;hibernate.show_sql&quot;,&nbsp;&quot;false&quot;);<br>configuration.setProperty(&quot;hibernate.format_sql&quot;,&nbsp;&quot;false&quot;);<br>configuration.setProperty(&quot;hibernate.max_fetch_depth&quot;,&nbsp;&quot;0&quot;);&nbsp;//&nbsp;recommended&nbsp;values&nbsp;between&nbsp;0&nbsp;and&nbsp;3<br>configuration.setProperty(&quot;hibernate.default_batch_fetch_size&quot;,&nbsp;&quot;16&quot;);&nbsp;//&nbsp;recommended&nbsp;values&nbsp;4,&nbsp;8,&nbsp;16<br>configuration.setProperty(&quot;hibernate.order_updates&quot;,&nbsp;&quot;true&quot;);<br>configuration.setProperty(&quot;hibernate.generate_statistics&quot;,&nbsp;&quot;true&quot;);<br>configuration.setProperty(&quot;hibernate.use_sql_comments&quot;,&nbsp;&quot;false&quot;);<br>//&nbsp;Hibernate&nbsp;JDBC&nbsp;and&nbsp;Connection&nbsp;Properties<br>configuration.setProperty(&quot;hibernate.jdbc.batch_size&quot;,&nbsp;&quot;30&quot;);&nbsp;//&nbsp;recommended&nbsp;values&nbsp;between&nbsp;5&nbsp;and&nbsp;30<br>configuration.setProperty(&quot;hibernate.jdbc.batch_versioned_data&quot;,&nbsp;&quot;true&quot;);<br>configuration.setProperty(&quot;hibernate.connection.provider_class&quot;,&nbsp;&quot;com.XXX.DatasourceConnectionProvider&quot;);<br>//&nbsp;Hibernate&nbsp;Cache&nbsp;Properties<br>configuration.setProperty(&quot;hibernate.cache.region.factory_class&quot;,&nbsp;&quot;org.hibernate.cache.infinispan.InfinispanRegionFactory&quot;);<br>configuration.setProperty(&quot;hibernate.cache.use_minimal_puts&quot;,&nbsp;&quot;true&quot;);<br>configuration.setProperty(&quot;hibernate.cache.use_query_cache&quot;,&nbsp;&quot;false&quot;);&nbsp;//&nbsp;true&nbsp;to&nbsp;activate&nbsp;L2&nbsp;cache<br>configuration.setProperty(&quot;hibernate.cache.use_second_level_cache&quot;,&nbsp;&quot;false&quot;);&nbsp;//&nbsp;true&nbsp;to&nbsp;activate&nbsp;L2&nbsp;cache<br>configuration.setProperty(&quot;hibernate.transaction.factory_class&quot;,&nbsp;&quot;org.hibernate.transaction.JTATransactionFactory&quot;);<br>configuration.setProperty(&quot;hibernate.transaction.manager_lookup_class&quot;,&nbsp;&quot;org.hibernate.transaction.JBossTransactionManagerLookup&quot;);<br>configuration.setProperty(&quot;jta.UserTransaction&quot;,&nbsp;JBossAppServerJtaPlatform.UT_NAME);<br>configuration.setProperty(&quot;hibernate.transaction.jta.platform&quot;,&nbsp;&quot;org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform&quot;);<br>//&nbsp;Miscellaneous&nbsp;Properties<br>configuration.setProperty(&quot;hibernate.current_session_context_class&quot;,&nbsp;&quot;jta&quot;);<br>//&nbsp;deactivate&nbsp;hibernate&nbsp;envers<br>configuration.setProperty(&quot;hibernate.listeners.envers.autoRegister&quot;,&nbsp;&quot;false&quot;);<br><br>BootstrapServiceRegistry&nbsp;bootstrapServiceRegistry&nbsp;=&nbsp;new&nbsp;BootstrapServiceRegistryBuilder().withApplicationClassLoader(this.getClass().getClassLoader()).build();<br>ServiceRegistry&nbsp;serviceRegistry&nbsp;=&nbsp;new&nbsp;ServiceRegistryBuilder(bootstrapServiceRegistry).applySettings(configuration.getProperties()).buildServiceRegistry();<br>SessionFactory&nbsp;sessionFactory&nbsp;=&nbsp;(SessionFactory)&nbsp;configuration.buildSessionFactory(serviceRegistry);<br></span>
<span class="diffaddedchars" style="background-color:#ddfade;">{code}</span>
<span class="diffcontext"><br></span>
<span class="diffaddedchars" style="background-color:#ddfade;"><br></span>
<span class="diffcontext">Is&nbsp;there&nbsp;any&nbsp;reason&nbsp;why&nbsp;UserTransaction&nbsp;is&nbsp;not&nbsp;injected&nbsp;anymore&nbsp;at&nbsp;creation&nbsp;time&nbsp;?&nbsp;Is&nbsp;my&nbsp;[ugly]&nbsp;workaround&nbsp;valid&nbsp;?<br><br>Thanks,<br></span>

        </td>
    </tr>
                            </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your <a style='color:#6c797f;' href='https://hibernate.onjira.com/secure/ContactAdministrators!default.jspa'>JIRA administrators</a>.<br />
            For more information on JIRA, see: <a style='color:#6c797f;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->