<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/369d6c67011e86f5d4107359919ffd05?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="hespresati" id="email_hespresati" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=hespresati" style="color:#6c797f;">Hugo Espresati</a>
     created <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-8305'>HHH-8305</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-8305'><strong>Envers auditing OneToOne inserts null in Aud JoinTable in a not stablished relationship</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;">Issue Type:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                <img src="https://hibernate.atlassian.net/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug">        Bug
    </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;">Affects Versions:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                    4.3.0.Beta2,                     4.2.1            </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;">Assignee:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                    Unassigned
        </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;">Components:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                    envers            </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;">Created:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
        12/Jun/13 3:13 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%;">
        <p style='margin-top:0;margin-bottom:10px;'>Envers is trying to insert data in the audit jointable when there's no relation stablished. I have a OneToOne bidirectional relation maped like this:</p>

<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>A.java</b></div><div class="codeContent panelContent">
<pre class="code-java">
@Entity
@Audited
<span class="code-keyword">public</span> class A {
    @Id
    @GeneratedValue
    <span class="code-keyword">private</span> <span class="code-object">Long</span> id;

    @OneToOne(optional = <span class="code-keyword">true</span>)
    @JoinTable(name = <span class="code-quote">"A_B"</span>, joinColumns = { @JoinColumn(name = <span class="code-quote">"a_id"</span>, unique = <span class="code-keyword">true</span>) }, inverseJoinColumns = { @JoinColumn(name = <span class="code-quote">"b_id"</span>) })
    <span class="code-keyword">private</span> B b = <span class="code-keyword">null</span>;

    <span class="code-comment">// Getters + Setters + HashCode + Equals
</span>}
</pre>
</div></div>

<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>B.java</b></div><div class="codeContent panelContent">
<pre class="code-java">
@Entity
@Audited
<span class="code-keyword">public</span> class B {

    @Id
    @GeneratedValue
    <span class="code-keyword">private</span> <span class="code-object">Long</span> id;

    @OneToOne(mappedBy = <span class="code-quote">"b"</span>, optional=<span class="code-keyword">true</span>)
    <span class="code-keyword">private</span> A a = <span class="code-keyword">null</span>;

    <span class="code-comment">// Getters + Setters + HashCode + Equals 
</span>}
</pre>
</div></div>

<p style='margin-top:0;margin-bottom:10px;'>The generated DDL of the JoinTables are:</p>
<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>JoinTable DDL</b></div><div class="codeContent panelContent">
<pre class="code-java">
CREATE TABLE <span class="code-keyword">public</span>.a_b (
  b_id BIGINT, 
  a_id BIGINT NOT NULL, 
  CONSTRAINT a_b_pkey PRIMARY KEY(a_id), 
  CONSTRAINT fk_32f8f6e4ba7d48728bfb376dd19 FOREIGN KEY (a_id)
    REFERENCES <span class="code-keyword">public</span>.a(id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE, 
  CONSTRAINT fk_6c0d47b64ad3462aaab3813ccae FOREIGN KEY (b_id)
    REFERENCES <span class="code-keyword">public</span>.b(id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE
) WITHOUT OIDS;
</pre>
</div></div>

<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>Aud JoinTable DDL</b></div><div class="codeContent panelContent">
<pre class="code-java">
CREATE TABLE <span class="code-keyword">public</span>.a_b_aud (
  b_id BIGINT NOT NULL, 
  rev INTEGER NOT NULL, 
  a_id BIGINT NOT NULL, 
  CONSTRAINT a_b_aud_pkey PRIMARY KEY(a_id, rev), 
  CONSTRAINT fk_5689e745b66c4ee2a8822e44079 FOREIGN KEY (b_id, rev)
    REFERENCES <span class="code-keyword">public</span>.b_aud(id, rev)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE, 
  CONSTRAINT fk_b5c868c4f5f34d35bdb7a6c1281 FOREIGN KEY (a_id, rev)
    REFERENCES <span class="code-keyword">public</span>.a_aud(id, rev)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE
) WITHOUT OIDS;
</pre>
</div></div>

<p style='margin-top:0;margin-bottom:10px;'>When creating an A entity and persisting it, the SQL statements are:</p>
<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>Hibernate Output</b></div><div class="codeContent panelContent">
<pre class="code-java">
Hibernate: select nextval ('hibernate_sequence')
Hibernate: insert into A (id) values (?)
12:58:50,488 TRACE BasicBinder:84 - binding parameter [1] as [BIGINT] - 21
Hibernate: select nextval ('hibernate_sequence')
Hibernate: insert into revinfo (timestamp, usuarioId, id) values (?, ?, ?)
12:58:50,506 TRACE BasicBinder:84 - binding parameter [1] as [BIGINT] - 1370948330497
12:58:50,506 TRACE BasicBinder:72 - binding parameter [2] as [BIGINT] - 0
12:58:50,507 TRACE BasicBinder:84 - binding parameter [3] as [INTEGER] - 22
Hibernate: insert into A_AUD (REVTYPE, id, REV) values (?, ?, ?)
12:58:50,509 TRACE BasicBinder:84 - binding parameter [1] as [INTEGER] - 0
12:58:50,509 TRACE BasicBinder:84 - binding parameter [2] as [BIGINT] - 21
12:58:50,510 TRACE BasicBinder:84 - binding parameter [3] as [INTEGER] - 22
Hibernate: insert into A_B_AUD (b_id, a_id, REV) values (?, ?, ?)
12:58:50,514 TRACE BasicBinder:72 - binding parameter [1] as [BIGINT] - &lt;<span class="code-keyword">null</span>&gt;
12:58:50,515 TRACE BasicBinder:84 - binding parameter [2] as [BIGINT] - 21
12:58:50,515 TRACE BasicBinder:84 - binding parameter [3] as [INTEGER] - 22
12:58:50,518  WARN SqlExceptionHelper:145 - SQL Error: 0, SQLState: 23502
12:58:50,518 ERROR SqlExceptionHelper:147 - ERROR: <span class="code-keyword">null</span> value <span class="code-keyword">for</span> the column «b_id» violates not <span class="code-keyword">null</span> restriction
...
</pre>
</div></div>

<p style='margin-top:0;margin-bottom:10px;'>As you can see Envers is trying to insert an entry on the aud jointable when no relation is stablished (null initialiced) in A instance and schema generated for Envers has a Not Null restriction</p>
    </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;">Environment:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
        PostgreSQL 8.4
    </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;">Project:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
        <a style="color:#6c797f;" href="https://hibernate.atlassian.net/browse/HHH">Hibernate ORM</a>
    </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;">Labels:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                    envers
                    hibernate-envers
            </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;">Priority:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                        <img src="https://hibernate.atlassian.net/images/icons/priorities/major.png" height="16" width="16" border="0" align="absmiddle" alt="Major">                Major
    </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;">Reporter:</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="hespresati" id="email_hespresati" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=hespresati" style="color:#6c797f;">Hugo Espresati</a>
                </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 -->