<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?avatarId=10162" 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="dmitry.bedrin" id="email_dmitry.bedrin" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=dmitry.bedrin" style="color:#6c797f;">Dmitry Bedrin</a>
     commented on <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-3441'>HHH-3441</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-3441'><strong>Null pointer exception on org.hibernate.type.AbstractType.getHashCode(AbstractType.java:112)</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'm experiencing the same issue with Hibernate 3.3.1.GA (Part of JBoss 5.1.0.GA):</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Project.java</b></div><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">package</span> com.tnf.db.ass.mtm;

<span class="code-keyword">import</span> javax.persistence.*;
<span class="code-keyword">import</span> java.util.HashSet;
<span class="code-keyword">import</span> java.util.Set;

@Entity
@Table(name = <span class="code-quote">"PROJECT"</span>)
<span class="code-keyword">public</span> class Project {

    @Id
    @SequenceGenerator(name = <span class="code-quote">"projectIdSeqGenerator"</span>, sequenceName = <span class="code-quote">"SEQ_PROJECT"</span>)
    @GeneratedValue(generator = <span class="code-quote">"projectIdSeqGenerator"</span>, strategy = GenerationType.SEQUENCE)
    @Column(name = <span class="code-quote">"ID"</span>, nullable = <span class="code-keyword">false</span>, length = 20, precision = 0)
    <span class="code-keyword">private</span> <span class="code-object">Long</span> id;

    @Column(name = <span class="code-quote">"NAME"</span>, length = 255)
    <span class="code-keyword">private</span> <span class="code-object">String</span> name;

    @OneToMany(mappedBy=<span class="code-quote">"project"</span>, cascade = CascadeType.ALL)
    @org.hibernate.annotations.Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
    <span class="code-keyword">private</span> Set&lt;ProjectXPerson&gt; persons;

    <span class="code-keyword">public</span> void addPerson(Person person, <span class="code-object">String</span> role) {

        ProjectXPerson projectXPerson = <span class="code-keyword">new</span> ProjectXPerson();
        projectXPerson.setPerson(person);
        projectXPerson.setProject(<span class="code-keyword">this</span>);
        projectXPerson.setRole(role);

        <span class="code-keyword">if</span> (<span class="code-keyword">null</span> == persons) persons = <span class="code-keyword">new</span> HashSet&lt;ProjectXPerson&gt;();
        persons.add(projectXPerson);

        <span class="code-keyword">if</span> (<span class="code-keyword">null</span> == person.getProjects()) person.setProjects(<span class="code-keyword">new</span> HashSet&lt;ProjectXPerson&gt;());
        person.getProjects().add(projectXPerson);

    }

    <span class="code-keyword">public</span> void clearPersons() {
        <span class="code-keyword">if</span> (<span class="code-keyword">null</span> == persons) <span class="code-keyword">return</span>;
        <span class="code-keyword">for</span> (ProjectXPerson projectXPerson : persons) {
            <span class="code-keyword">if</span> (<span class="code-keyword">null</span> == projectXPerson.getPerson().getProjects()) <span class="code-keyword">continue</span>;
            projectXPerson.getPerson().getProjects().remove(projectXPerson);
        }
        persons.clear();
    }
    
    <span class="code-keyword">public</span> <span class="code-object">Long</span> getId() {
        <span class="code-keyword">return</span> id;
    }

    <span class="code-keyword">public</span> void setId(<span class="code-object">Long</span> id) {
        <span class="code-keyword">this</span>.id = id;
    }

    <span class="code-keyword">public</span> <span class="code-object">String</span> getName() {
        <span class="code-keyword">return</span> name;
    }

    <span class="code-keyword">public</span> void setName(<span class="code-object">String</span> name) {
        <span class="code-keyword">this</span>.name = name;
    }

    <span class="code-keyword">public</span> Set&lt;ProjectXPerson&gt; getPersons() {
        <span class="code-keyword">return</span> persons;
    }

    <span class="code-keyword">public</span> void setPersons(Set&lt;ProjectXPerson&gt; persons) {
        <span class="code-keyword">this</span>.persons = persons;
    }

    @Override
    <span class="code-keyword">public</span> <span class="code-object">String</span> toString() {
        <span class="code-keyword">return</span> <span class="code-quote">"Project{"</span> +
                <span class="code-quote">"id="</span> + id +
                <span class="code-quote">", name='"</span> + name + '\'' +
                '}';
    }
}</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Person.java</b></div><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">package</span> com.tnf.db.ass.mtm;

<span class="code-keyword">import</span> javax.persistence.*;
<span class="code-keyword">import</span> java.util.Set;

@Entity
@Table(name = <span class="code-quote">"PERSON"</span>)
<span class="code-keyword">public</span> class Person {

    @Id
    @SequenceGenerator(name = <span class="code-quote">"personIdSeqGenerator"</span>, sequenceName = <span class="code-quote">"SEQ_PERSON"</span>)
    @GeneratedValue(generator = <span class="code-quote">"personIdSeqGenerator"</span>, strategy = GenerationType.SEQUENCE)
    @Column(name = <span class="code-quote">"ID"</span>, nullable = <span class="code-keyword">false</span>, length = 20, precision = 0)
    <span class="code-keyword">private</span> <span class="code-object">Long</span> id;

    @Column(name = <span class="code-quote">"NAME"</span>, length = 255)
    <span class="code-keyword">private</span> <span class="code-object">String</span> name;

    @OneToMany(mappedBy=<span class="code-quote">"person"</span>)
    <span class="code-keyword">private</span> Set&lt;ProjectXPerson&gt; projects;

    <span class="code-keyword">public</span> <span class="code-object">Long</span> getId() {
        <span class="code-keyword">return</span> id;
    }

    <span class="code-keyword">public</span> void setId(<span class="code-object">Long</span> id) {
        <span class="code-keyword">this</span>.id = id;
    }

    <span class="code-keyword">public</span> <span class="code-object">String</span> getName() {
        <span class="code-keyword">return</span> name;
    }

    <span class="code-keyword">public</span> void setName(<span class="code-object">String</span> name) {
        <span class="code-keyword">this</span>.name = name;
    }

    <span class="code-keyword">public</span> Set&lt;ProjectXPerson&gt; getProjects() {
        <span class="code-keyword">return</span> projects;
    }

    <span class="code-keyword">public</span> void setProjects(Set&lt;ProjectXPerson&gt; projects) {
        <span class="code-keyword">this</span>.projects = projects;
    }

    @Override
    <span class="code-keyword">public</span> <span class="code-object">String</span> toString() {
        <span class="code-keyword">return</span> <span class="code-quote">"Person{"</span> +
                <span class="code-quote">"id="</span> + id +
                <span class="code-quote">", name='"</span> + name + '\'' +
                '}';
    }
}</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProjectXPerson.java</b></div><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">package</span> com.tnf.db.ass.mtm;

<span class="code-keyword">import</span> javax.persistence.*;
<span class="code-keyword">import</span> java.io.Serializable;

@Entity
@Table(name=<span class="code-quote">"PROJECT_X_PERSON"</span>)
@IdClass(ProjectXPerson.PK.class)
<span class="code-keyword">public</span> class ProjectXPerson {

    @Column(name = <span class="code-quote">"ROLE"</span>)
    <span class="code-keyword">private</span> <span class="code-object">String</span> role;

    @Id
    <span class="code-keyword">private</span> Project project;

    @Id
    <span class="code-keyword">private</span> Person person;
    
    <span class="code-keyword">public</span> <span class="code-keyword">static</span> class PK <span class="code-keyword">implements</span> Serializable {

        @ManyToOne(cascade = CascadeType.ALL)
        @JoinColumn(name=<span class="code-quote">"PROJECT_ID"</span>)
        <span class="code-keyword">private</span> Project project;

        @ManyToOne(cascade = CascadeType.ALL)
        @JoinColumn(name=<span class="code-quote">"PERSON_ID"</span>)
        <span class="code-keyword">private</span> Person person;

        @Override
        <span class="code-keyword">public</span> <span class="code-object">boolean</span> equals(<span class="code-object">Object</span> o) {
            <span class="code-keyword">if</span> (<span class="code-keyword">this</span> == o) <span class="code-keyword">return</span> <span class="code-keyword">true</span>;
            <span class="code-keyword">if</span> (o == <span class="code-keyword">null</span> || getClass() != o.getClass()) <span class="code-keyword">return</span> <span class="code-keyword">false</span>;

            PK pk = (PK) o;

            <span class="code-keyword">if</span> (person != <span class="code-keyword">null</span> ? !person.equals(pk.person) : pk.person != <span class="code-keyword">null</span>) <span class="code-keyword">return</span> <span class="code-keyword">false</span>;
            <span class="code-keyword">if</span> (project != <span class="code-keyword">null</span> ? !project.equals(pk.project) : pk.project != <span class="code-keyword">null</span>) <span class="code-keyword">return</span> <span class="code-keyword">false</span>;

            <span class="code-keyword">return</span> <span class="code-keyword">true</span>;
        }

        @Override
        <span class="code-keyword">public</span> <span class="code-object">int</span> hashCode() {
            <span class="code-object">int</span> result = project != <span class="code-keyword">null</span> ? project.hashCode() : 0;
            result = 31 * result + (person != <span class="code-keyword">null</span> ? person.hashCode() : 0);
            <span class="code-keyword">return</span> result;
        }
    }

    <span class="code-keyword">public</span> <span class="code-object">String</span> getRole() {
        <span class="code-keyword">return</span> role;
    }

    <span class="code-keyword">public</span> void setRole(<span class="code-object">String</span> role) {
        <span class="code-keyword">this</span>.role = role;
    }

    <span class="code-keyword">public</span> Project getProject() {
        <span class="code-keyword">return</span> project;
    }

    <span class="code-keyword">public</span> void setProject(Project project) {
        <span class="code-keyword">this</span>.project = project;
    }

    <span class="code-keyword">public</span> Person getPerson() {
        <span class="code-keyword">return</span> person;
    }

    <span class="code-keyword">public</span> void setPerson(Person person) {
        <span class="code-keyword">this</span>.person = person;
    }

    @Override
    <span class="code-keyword">public</span> <span class="code-object">boolean</span> equals(<span class="code-object">Object</span> o) {
        <span class="code-keyword">if</span> (<span class="code-keyword">this</span> == o) <span class="code-keyword">return</span> <span class="code-keyword">true</span>;
        <span class="code-keyword">if</span> (o == <span class="code-keyword">null</span> || getClass() != o.getClass()) <span class="code-keyword">return</span> <span class="code-keyword">false</span>;

        ProjectXPerson that = (ProjectXPerson) o;

        <span class="code-keyword">if</span> (person != <span class="code-keyword">null</span> ? !person.equals(that.person) : that.person != <span class="code-keyword">null</span>) <span class="code-keyword">return</span> <span class="code-keyword">false</span>;
        <span class="code-keyword">if</span> (project != <span class="code-keyword">null</span> ? !project.equals(that.project) : that.project != <span class="code-keyword">null</span>) <span class="code-keyword">return</span> <span class="code-keyword">false</span>;

        <span class="code-keyword">return</span> <span class="code-keyword">true</span>;
    }

    @Override
    <span class="code-keyword">public</span> <span class="code-object">int</span> hashCode() {
        <span class="code-object">int</span> result = project != <span class="code-keyword">null</span> ? project.hashCode() : 0;
        result = 31 * result + (person != <span class="code-keyword">null</span> ? person.hashCode() : 0);
        <span class="code-keyword">return</span> result;
    }

}</pre>
</div></div>

<p>My test case:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>MTMTest.java</b></div><div class="codeContent panelContent">
<pre class="code-java"><span class="code-keyword">package</span> com.tnf.db.ass.mtm;

<span class="code-keyword">import</span> com.tnf.db.persistence.util.PersistenceUtil;
<span class="code-keyword">import</span> org.junit.Test;
<span class="code-keyword">import</span> org.junit.runner.RunWith;
<span class="code-keyword">import</span> org.springframework.test.context.ContextConfiguration;
<span class="code-keyword">import</span> org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
<span class="code-keyword">import</span> org.springframework.test.context.transaction.TransactionConfiguration;
<span class="code-keyword">import</span> org.springframework.transaction.annotation.Transactional;

<span class="code-keyword">import</span> javax.persistence.EntityManager;
<span class="code-keyword">import</span> javax.persistence.PersistenceContext;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { <span class="code-quote">"classpath:/beans-test.xml"</span> })
@TransactionConfiguration(transactionManager = <span class="code-quote">"transactionManager"</span>, defaultRollback = <span class="code-keyword">true</span>)
@Transactional
<span class="code-keyword">public</span> class MTMTest {

    @PersistenceContext(unitName = PersistenceUtil.PERSISTENCE_UNIT_NAME)
    <span class="code-keyword">protected</span> EntityManager em;
    
    @Test
    <span class="code-keyword">public</span> void create() <span class="code-keyword">throws</span> Exception {
        
        Person joe = <span class="code-keyword">new</span> Person();
        joe.setName(<span class="code-quote">"Joe"</span>);
        <span class="code-comment">//em.persist(joe);
</span>
        Person jane = <span class="code-keyword">new</span> Person();
        jane.setName(<span class="code-quote">"Jane"</span>);
        <span class="code-comment">//em.persist(jane);
</span>        
        Project manhattan = <span class="code-keyword">new</span> Project();
        manhattan.setName(<span class="code-quote">"Manhattan"</span>);
        em.persist(manhattan);

        manhattan.addPerson(joe, <span class="code-quote">"Engineer"</span>);
        manhattan.addPerson(jane, <span class="code-quote">"Engineer"</span>);

        em.flush();
        em.clear();

    }
    
}</pre>
</div></div>

<p>This test case fails with following exception:</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>java.lang.NullPointerException
        at org.hibernate.type.AbstractType.getHashCode(AbstractType.java:136)
        at org.hibernate.type.AbstractType.getHashCode(AbstractType.java:144)
        at org.hibernate.type.EntityType.getHashCode(EntityType.java:312)
        at org.hibernate.type.ComponentType.getHashCode(ComponentType.java:212)
        at org.hibernate.engine.EntityKey.generateHashCode(EntityKey.java:126)
        at org.hibernate.engine.EntityKey.&lt;init&gt;(EntityKey.java:70)
        at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:184)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
        at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
        at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
        at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
        at org.hibernate.impl.SessionImpl.firePersistOnFlush(SessionImpl.java:671)
        at org.hibernate.impl.SessionImpl.persistOnFlush(SessionImpl.java:663)
        at org.hibernate.engine.CascadingAction$9.cascade(CascadingAction.java:346)
        at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
        at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
        at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
        at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:319)
        at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:265)
        at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:242)
        at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
        at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
        at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)
        at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)
        at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
        at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:304)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
        at $Proxy63.flush(Unknown Source)
        at com.tnf.db.ass.mtm.MTMTest.create(MTMTest.java:43)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
        at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
        at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
        at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
        at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71)
        at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202)
        at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
</pre>
</div></div>

<p>If I remove comments from em.persist(joe); and em.persist(jane); lines it works as expected</p></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 <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 -->