<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 
        <base href="https://hibernate.atlassian.net"> 
        <title>Message Title</title> 
    </head> 
    <body class="jira" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429"> 
        <table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0" bgcolor="#f5f5f5"> 
            <!-- header here --> 
            <tbody>
                <tr> 
                    <td id="header-pattern-container" style="padding: 0; border-collapse: collapse; padding: 10px 20px"> 
                        <table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                            <tbody>
                                <tr> 
                                    <td id="header-avatar-image-container" valign="top" style="padding: 0; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px" width="32"> <img id="header-avatar-image" class="image_fix" src="https://avatar-cdn.atlassian.com/48ffea36a8b10d3cb355b0e235bd594f?s=48&amp;d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F48ffea36a8b10d3cb355b0e235bd594f%3Fd%3Dmm%26s%3D48%26noRedirect%3Dtrue" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top"> </td> 
                                    <td id="header-text-container" valign="middle" style="padding: 0; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="adrodoc55" id="email_adrodoc55" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=adrodoc55" style="color:#6c797f;; color: #3b73af; text-decoration: none">Adrodoc</a> <strong>created</strong> an issue </td> 
                                </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
                <tr> 
                    <td id="email-content-container" style="padding: 0; border-collapse: collapse; padding: 0 20px"> 
                        <table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; border-spacing: 0; border-collapse: separate"> 
                            <tbody>
                                <tr> 
                                    <!-- there needs to be content in the cell for it to render in some clients --> 
                                    <td class="email-content-rounded-top mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 15px; background-color: #ffffff; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly" height="10" bgcolor="#ffffff">&nbsp;</td> 
                                </tr> 
                                <tr> 
                                    <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff"> 
                                        <table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                                            <tbody>
                                                <tr> 
                                                    <td class="page-title-pattern-first-line " style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://hibernate.atlassian.net/browse/HHH" style="color: #3b73af; text-decoration: none">Hibernate ORM</a> / <a href="https://hibernate.atlassian.net/browse/HHH-12711" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-8e3c6246-3e39-40b0-a7de-c26e3a9df03a" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"></a> <a href="https://hibernate.atlassian.net/browse/HHH-12711" style="color: #3b73af; text-decoration: none">HHH-12711</a> </td> 
                                                </tr> 
                                                <tr> 
                                                    <td style="vertical-align: top;; padding: 0; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-12711" style="color: #3b73af; text-decoration: none">@BatchSize and hibernate.default_batch_fetch_size should affect eager loading of non-owning one-to-one relations</a> </span> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                                <tr> 
                                    <td class="email-content-main mobile-expand  wrapper-special-margin" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 10px; padding-bottom: 5px" bgcolor="#ffffff"> 
                                        <table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                                            <tbody>
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Issue Type:</th> 
                                                    <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-avatar-8e3c6246-3e39-40b0-a7de-c26e3a9df03a" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"> Bug </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Affects Versions:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 5.3.1 </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Assignee:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> Unassigned </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Components:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> hibernate-core </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Created:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 20/Jun/2018 07:55 AM </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Environment:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> Testcase built using <br> <a href="https://github.com/hibernate/hibernate-test-case-templates/tree/04ea198b50f7fce7d8a342695fc29f23ad5a8751" style="color: #3b73af; text-decoration: none">https://github.com/hibernate/hibernate-test-case-templates/tree/04ea198b50f7fce7d8a342695fc29f23ad5a8751</a> <br> And org.assertj:assertj-core:3.5.1 </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Priority:</th> 
                                                    <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-major-e1c9b28f-8cfa-49e9-a1e2-9c4c2171a881" height="16" width="16" border="0" align="absmiddle" alt="Major" style="vertical-align: text-bottom"> Major </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Reporter:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="adrodoc55" id="email_adrodoc55" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=adrodoc55" style="color:#6c797f;; color: #3b73af; text-decoration: none">Adrodoc</a> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                                <tr> 
                                    <td class="email-content-main mobile-expand  issue-description-container" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 5px; padding-bottom: 10px" bgcolor="#ffffff"> 
                                        <table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px"> 
                                            <tbody>
                                                <tr> 
                                                    <td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0; border-collapse: collapse; padding: 0 0 10px"> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0; margin-top: 0">When executing a jpql query FetchMode.JOIN (which is the default for eager to one relations) is ignored. This is reasonable, because it would alter the query executed by the user. The unfortunate side effect is that n+1 queries are executed to fill the eager relation. Making the relation lazy is not always possible, because a non-owning optional relation can't be lazy.<br> To prevent n+1 queries you can use the awesome feature @BatchSize or hibernate.default_batch_fetch_size. This works fine for both lazy and eager one-to-one relations one the owning side, but it does not work for non-owning eager (lazy is not possible due to <span class="jira-issue-macro" data-jira-key="HHH-12709"> <a href="https://hibernate.atlassian.net/browse/HHH-12709" class="jira-issue-macro-key issue-link" title="Non-optional, non-owning side of a bidirectional OneToOne Relation ignores FetchType.LAZY" style="color: #3b73af; text-decoration: none"> <img class="icon" src="https://hibernate.atlassian.net/secure/viewavatar?size=xsmall&amp;avatarId=12143&amp;avatarType=issuetype"> HHH-12709 </a> <span class="aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf" style="background: #cccccc; border: 1px solid #cccccc; border-radius: 3px; color: #333333; display: inline-block; font-size: 11px; font-weight: bold; line-height: 99%; margin: 0; padding: 2px 5px; text-align: center; text-decoration: none; text-transform: uppercase; background-color: #ffffff; border-color: #cccccc; color: #333333" bgcolor="#ffffff">Open</span> </span> ) one-to-one relations.<br> This is a big performance problem and I believe this is the main reason why people say one should avoid bidirectional one-to-one relations in hibernate.<br> Looking at the code this is because in <a href="https://github.com/hibernate/hibernate-orm/blob/f2238ec089d139270ff151771692fa4dcc4d7256/hibernate-core/src/main/java/org/hibernate/type/EntityType.java#L463-L468" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">EntityType.resolve</a> it uses loadByUniqueKey for non-owning one-to-one realations, but unlike resolveIdentifier which internally calls <a href="https://github.com/hibernate/hibernate-orm/blob/f2238ec089d139270ff151771692fa4dcc4d7256/hibernate-core/src/main/java/org/hibernate/event/internal/DefaultLoadEventListener.java#L509" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">DefaultLoadEventListener.loadFromDatasource</a> which uses batch fetching, <a href="https://github.com/hibernate/hibernate-orm/blob/f2238ec089d139270ff151771692fa4dcc4d7256/hibernate-core/src/main/java/org/hibernate/loader/Loader.java#L924" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">loadByUniqueKey uses Loader.doQuery</a> which does not use batch fetching.</p> 
                                                        <div class="code panel" style="border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                                                            <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                                <pre class="code-java" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-keyword" style="color: #000091">package</span> org.hibernate.bugs;

<span class="code-keyword" style="color: #000091">import</span> <span class="code-keyword" style="color: #000091">static</span> org.assertj.core.api.Assertions.assertThat;

<span class="code-keyword" style="color: #000091">import</span> java.util.ArrayList;
<span class="code-keyword" style="color: #000091">import</span> java.util.Collections;
<span class="code-keyword" style="color: #000091">import</span> java.util.List;

<span class="code-keyword" style="color: #000091">import</span> javax.persistence.CascadeType;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Entity;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.EntityManager;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.EntityManagerFactory;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.FetchType;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Id;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.OneToOne;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Persistence;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Query;

<span class="code-keyword" style="color: #000091">import</span> org.apache.log4j.AppenderSkeleton;
<span class="code-keyword" style="color: #000091">import</span> org.apache.log4j.Level;
<span class="code-keyword" style="color: #000091">import</span> org.apache.log4j.Logger;
<span class="code-keyword" style="color: #000091">import</span> org.apache.log4j.spi.LoggingEvent;
<span class="code-keyword" style="color: #000091">import</span> org.hibernate.annotations.BatchSize;
<span class="code-keyword" style="color: #000091">import</span> org.junit.After;
<span class="code-keyword" style="color: #000091">import</span> org.junit.Before;
<span class="code-keyword" style="color: #000091">import</span> org.junit.Test;

/**
 * This template demonstrates how to develop a test <span class="code-keyword" style="color: #000091">case</span> <span class="code-keyword" style="color: #000091">for</span> Hibernate ORM, using the Java Persistence API.
 */
<span class="code-keyword" style="color: #000091">public</span> <span class="code-keyword" style="color: #000091">class </span>JPAUnitTestCase {

  <span class="code-keyword" style="color: #000091">private</span> EntityManagerFactory entityManagerFactory;
  <span class="code-keyword" style="color: #000091">private</span> Logger sqlLogger;
  <span class="code-keyword" style="color: #000091">private</span> Level initialSqlLevel;

  @Before
  <span class="code-keyword" style="color: #000091">public</span> void init() {
    sqlLogger = Logger.getLogger(<span class="code-quote" style="color: #009100">"org.hibernate.SQL"</span>);
    initialSqlLevel = sqlLogger.getLevel();
    sqlLogger.setLevel(Level.DEBUG);
    entityManagerFactory = Persistence.createEntityManagerFactory(<span class="code-quote" style="color: #009100">"templatePU"</span>);
  }

  @After
  <span class="code-keyword" style="color: #000091">public</span> void destroy() {
    entityManagerFactory.close();
    sqlLogger.setLevel(initialSqlLevel);
  }

  <span class="code-comment" style="color: #808080">// Entities are auto-discovered, so just add them anywhere on <span class="code-keyword" style="color: #000091; color: #808080">class-</span>path
</span>  <span class="code-comment" style="color: #808080">// Add your tests, using standard JUnit.
</span>  @Test
  <span class="code-keyword" style="color: #000091">public</span> void hhh123Test() <span class="code-keyword" style="color: #000091">throws</span> Exception {
    EntityManager entityManager = entityManagerFactory.createEntityManager();
    <span class="code-object" style="color: #910091">int</span> numberOfParents = 5;

    runInTransaction(entityManager, () -&gt; {
      <span class="code-keyword" style="color: #000091">for</span> (<span class="code-object" style="color: #910091">int</span> id = 0; id &lt; numberOfParents; id++) {
        Parent parent = <span class="code-keyword" style="color: #000091">new</span> Parent(id);
        <span class="code-keyword" style="color: #000091">new</span> Child(id + 100, parent);
        entityManager.persist(parent);
      }
    });

    runInTransaction(entityManager, () -&gt; {
      RecordingLog4jAppender appender = <span class="code-keyword" style="color: #000091">new</span> RecordingLog4jAppender();
      sqlLogger.addAppender(appender);

      Query query = entityManager.createQuery(<span class="code-quote" style="color: #009100">"from "</span> + Parent.<span class="code-keyword" style="color: #000091">class.</span>getSimpleName());
      @SuppressWarnings(<span class="code-quote" style="color: #009100">"unchecked"</span>)
      List&lt;Parent&gt; parents = query.getResultList();
      sqlLogger.removeAppender(appender);
      assertThat(parents).hasSize(numberOfParents);
      assertThat(appender.getLogEvents()).size().isLessThan(numberOfParents);
    });

    entityManager.close();
  }

  <span class="code-keyword" style="color: #000091">private</span> void runInTransaction(EntityManager entityManager, <span class="code-object" style="color: #910091">Runnable</span> runnable) {
    entityManager.getTransaction().begin();
    runnable.run();
    entityManager.getTransaction().commit();
    entityManager.clear();
  }
}


@Entity
@BatchSize(size = 20)
<span class="code-keyword" style="color: #000091">class </span>Parent {
  @Id
  <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">long</span> id;

  @OneToOne(mappedBy = <span class="code-quote" style="color: #009100">"parent"</span>, cascade = CascadeType.ALL)
  <span class="code-keyword" style="color: #000091">private</span> Child child;

  Parent() {}

  <span class="code-keyword" style="color: #000091">public</span> Parent(<span class="code-object" style="color: #910091">long</span> id) {
    <span class="code-keyword" style="color: #000091">this</span>.id = id;
  }

  <span class="code-keyword" style="color: #000091">public</span> Child getChild() {
    <span class="code-keyword" style="color: #000091">return</span> child;
  }

  void setChild(Child child) {
    <span class="code-keyword" style="color: #000091">this</span>.child = child;
  }

  @Override
  <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> toString() {
    <span class="code-keyword" style="color: #000091">return</span> <span class="code-quote" style="color: #009100">"Parent [id="</span> + id + <span class="code-quote" style="color: #009100">", child="</span> + child + <span class="code-quote" style="color: #009100">"]"</span>;
  }
}


@Entity
@BatchSize(size = 20)
<span class="code-keyword" style="color: #000091">class </span>Child {
  @Id
  <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">long</span> id;

  @OneToOne(fetch = FetchType.LAZY)
  <span class="code-keyword" style="color: #000091">private</span> Parent parent;

  Child() {}

  <span class="code-keyword" style="color: #000091">public</span> Child(<span class="code-object" style="color: #910091">long</span> id, Parent parent) {
    <span class="code-keyword" style="color: #000091">this</span>.id = id;
    setParent(parent);
  }

  <span class="code-keyword" style="color: #000091">public</span> Parent getParent() {
    <span class="code-keyword" style="color: #000091">return</span> parent;
  }

  <span class="code-keyword" style="color: #000091">public</span> void setParent(Parent parent) {
    <span class="code-keyword" style="color: #000091">this</span>.parent = parent;
    parent.setChild(<span class="code-keyword" style="color: #000091">this</span>);
  }

  @Override
  <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> toString() {
    <span class="code-keyword" style="color: #000091">return</span> <span class="code-quote" style="color: #009100">"Child [id="</span> + id + <span class="code-quote" style="color: #009100">"]"</span>;
  }
}


<span class="code-keyword" style="color: #000091">class </span>RecordingLog4jAppender <span class="code-keyword" style="color: #000091">extends</span> AppenderSkeleton {
  <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">final</span> List&lt;LoggingEvent&gt; logEvents = <span class="code-keyword" style="color: #000091">new</span> ArrayList&lt;&gt;();
  <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">boolean</span> active = <span class="code-keyword" style="color: #000091">true</span>;

  @Override
  <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">boolean</span> requiresLayout() {
    <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">false</span>;
  }

  @Override
  <span class="code-keyword" style="color: #000091">protected</span> void append(LoggingEvent loggingEvent) {
    <span class="code-keyword" style="color: #000091">if</span> (active) {
      logEvents.add(loggingEvent);
    }
  }

  @Override
  <span class="code-keyword" style="color: #000091">public</span> void close() {}

  <span class="code-keyword" style="color: #000091">public</span> void setActive(<span class="code-object" style="color: #910091">boolean</span> value) {
    active = value;
  }

  <span class="code-keyword" style="color: #000091">public</span> void clear() {
    logEvents.clear();
  }

  <span class="code-keyword" style="color: #000091">public</span> List&lt;LoggingEvent&gt; getLogEvents() {
    <span class="code-keyword" style="color: #000091">return</span> Collections.unmodifiableList(logEvents);
  }
}
</pre> 
                                                            </div>
                                                        </div> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                                <tr> 
                                    <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff"> <script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "description": "View Issue",
  "potentialAction": {
    "@type": "ViewAction",
        "target": "https://hibernate.atlassian.net/browse/HHH-12711?inbox=true&",
    "name": "View Issue"
      },
  "publisher": {
    "@type": "Organization",
    "name": "Atlassian",
    "url": "https://www.atlassian.com"
  }
}
</script> 
                                        <table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> 
                                            <tbody>
                                                <tr> 
                                                    <td id="actions-pattern-container" valign="middle" style="padding: 0; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0"> 
                                                        <table align="left" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                                                            <tbody>
                                                                <tr> 
                                                                    <td class="actions-pattern-action-icon-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-12711#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-81ea8351-ed8f-4e3f-9470-852321d8a67e" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle"> </a> </td> 
                                                                    <td class="actions-pattern-action-text-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://hibernate.atlassian.net/browse/HHH-12711#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a> </td> 
                                                                </tr> 
                                                            </tbody>
                                                        </table> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                                <!-- there needs to be content in the cell for it to render in some clients --> 
                                <tr> 
                                    <td class="email-content-rounded-bottom mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #ffffff; border-top: 0; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly" height="5" bgcolor="#ffffff">&nbsp;</td> 
                                </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
                <tr> 
                    <td id="footer-pattern" style="padding: 0; border-collapse: collapse; padding: 12px 20px"> 
                        <table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                            <tbody>
                                <tr> 
                                    <td id="footer-pattern-mobile-separated-links" class="mobile-resize-text" width="100%" colspan="2" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> Get Jira notifications on your phone! Download the Jira Cloud app for <a href="https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&amp;referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail" style="color: #3b73af; text-decoration: none">Android</a> or <a href="https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&amp;ct=EmailNotificationLink&amp;mt=8" style="color: #3b73af; text-decoration: none">iOS</a> 
                                        <hr> </td> 
                                </tr> 
                                <tr> 
                                    <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> This message was sent by Atlassian Jira <span id="footer-build-information">(v1001.0.0-SNAPSHOT#100087-<span title="6ad10047bf8aeb3b2ecb62de896f35bf37250172" data-commit-id="6ad10047bf8aeb3b2ecb62de896f35bf37250172}">sha1:6ad1004</span>)</span> </td> 
                                    <td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0; border-collapse: collapse; padding-left: 20px; vertical-align: top"> 
                                        <table style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                                            <tbody>
                                                <tr> 
                                                    <td id="footer-pattern-logo-desktop-padding" style="padding: 0; border-collapse: collapse; padding-top: 3px; opacity: 0.150"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-3cc1dfdd-43ed-4caf-8cca-543bb1ee5360" alt="Atlassian logo" title="Atlassian logo" width="192" height="24" class="image_fix"> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
            </tbody>
        </table>   
    </body>
</html>