<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://secure.gravatar.com/avatar/5252de20e9461690ba78b00f1f3d3971?d=mm&s=48" 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="fsparv" id="email_fsparv" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=fsparv" style="color:#6c797f;">Gus Heck</a>
     commented on <img src="https://hibernate.atlassian.net/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#6c797f;text-decoration:none;' href='https://hibernate.atlassian.net/browse/HHH-5233'>HHH-5233</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.atlassian.net/browse/HHH-5233'><strong>@FetchProfile fails to take more than one @FetchProfile.FetchOverride</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 colspan="2" style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 16px 0;width:100%;">
        <div class="comment-block" style="background-color:#edf5ff;border:1px solid #dddddd;color:#000000;padding:12px;"><p>I am seeing this using these:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">    compile 'org.hibernate:hibernate-entitymanager:4.2.2.Final'
    compile 'org.hibernate:hibernate-c3p0:4.2.2.Final'
    compile 'org.hibernate:hibernate-envers:4.2.2.Final'
</pre>
</div></div>

<p>As you can see below, the first listed FetchOverride works because the empty comments collection renders as json without error, but then extracts dies. The json below was part of a set of 6 resources returned from the DB, but the exception caused only one to render (and partially at that).</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>package-info.java</b></div><div class="codeContent panelContent">
<pre class="code-java">@FetchProfile(name = <span class="code-quote">"eager-resource"</span>, fetchOverrides = {
    @FetchProfile.FetchOverride(entity = Resource.class, association = <span class="code-quote">"comments"</span>, mode = FetchMode.JOIN),
    @FetchProfile.FetchOverride(entity = Resource.class, association = <span class="code-quote">"extracts"</span>, mode = FetchMode.JOIN),
    @FetchProfile.FetchOverride(entity = Resource.class, association = <span class="code-quote">"ratings"</span>, mode = FetchMode.JOIN)
})

<span class="code-keyword">package</span> com.customer.model;

<span class="code-keyword">import</span> org.hibernate.annotations.FetchMode;
<span class="code-keyword">import</span> org.hibernate.annotations.FetchProfile;
</pre>
</div></div>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Resource.java</b></div><div class="codeContent panelContent">
<pre class="code-java">  @OneToMany(mappedBy = <span class="code-quote">"aboutResource"</span>)
  <span class="code-keyword">private</span> Collection&lt;Comment&gt; comments;

  @OneToMany(mappedBy = <span class="code-quote">"fromResource"</span>)
  <span class="code-keyword">private</span> Collection&lt;Extract&gt; extracts;

  @OneToMany(mappedBy = <span class="code-quote">"resource"</span>)
  <span class="code-keyword">private</span> Collection&lt;Rating&gt; ratings;
</pre>
</div></div>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Stacktrace</b></div><div class="codeContent panelContent">
<pre class="code-java">com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role: com.customer.model.Resource.extracts, could not initialize proxy - no Session (through reference chain: com.customer.servlet.search.CustomerSearchResults[<span class="code-quote">"resources"</span>]-&gt;com.customer.model.Resource[<span class="code-quote">"extracts"</span>])
        at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:232)
        at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:197)
        at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:184)
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:605)
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:142)
        at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serializeContents(ObjectArraySerializer.java:229)
        at com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer.serializeContents(ObjectArraySerializer.java:26)
        at com.fasterxml.jackson.databind.ser.std.ArraySerializerBase.serialize(ArraySerializerBase.java:57)
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:569)
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:597)
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:142)
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:118)
        at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:2718)
        at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2177)
        at com.customer.servlet.search.CustomerStream.close(CustomerStream.java:67)
        at org.mitre.dsmiley.httpproxy.ProxyServlet.closeQuietly(ProxyServlet.java:227)
        at org.mitre.dsmiley.httpproxy.ProxyServlet.copyResponseEntity(ProxyServlet.java:299)
        at org.mitre.dsmiley.httpproxy.ProxyServlet.service(ProxyServlet.java:177)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.customer.servlet.ThreadContextFilter.doFilter(ThreadContextFilter.java:33)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.customer.servlet.search.CustomerSearchFilter.doFilter(CustomerSearchFilter.java:36)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.<span class="code-object">Thread</span>.run(<span class="code-object">Thread</span>.java:722)
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.customer.model.Resource.extracts, could not initialize proxy - no Session
        at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:566)
        at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:186)
        at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:545)
        at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:124)
        at org.hibernate.collection.internal.PersistentBag.iterator(PersistentBag.java:266)
        at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:90)
        at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
        at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:186)
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:569)
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:597)
        ... 37 more
</pre>
</div></div>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>JSON Results</b></div><div class="codeContent panelContent">
<pre class="code-java"><span class="code-quote">"resources"</span>: [
        {
            <span class="code-quote">"id"</span>: 3,
            <span class="code-quote">"location"</span>: <span class="code-quote">"http:<span class="code-comment">//superuser.com/search?q=disable+java+chrome"</span>,
</span>            <span class="code-quote">"scheme"</span>: <span class="code-quote">"http"</span>,
            <span class="code-quote">"server"</span>: <span class="code-quote">"superuser.com"</span>,
            <span class="code-quote">"port"</span>: <span class="code-quote">"80"</span>,
            <span class="code-quote">"path"</span>: <span class="code-quote">"/search"</span>,
            <span class="code-quote">"query"</span>: <span class="code-quote">"q=disable+java+chrome"</span>,
            <span class="code-quote">"lastVisit"</span>: <span class="code-keyword">null</span>,
            <span class="code-quote">"created"</span>: 1373065910877,
            <span class="code-quote">"modified"</span>: 1373065910877,
            <span class="code-quote">"comments"</span>: [],
            <span class="code-quote">"extracts"</span>: []
        }
    ]
</pre>
</div></div></div>
        <div style="color:#505050;padding:4px 0 0 0;">                </div>
    </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 JIRA administrators<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 -->