<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=brmeyer&avatarId=11140" 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="brmeyer" id="email_brmeyer" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=brmeyer" style="color:#6c797f;">Brett Meyer</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-7359'>HHH-7359</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-7359'><strong>Trace logging causes numerous test errors</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="brmeyer" id="email_brmeyer" href="https://hibernate.onjira.com/secure/ViewProfile.jspa?name=brmeyer" style="color:#6c797f;">Brett Meyer</a>
(24/Oct/12 9:49 PM)
</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="diffcontext">With TRACE level logging enabled</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"> the log statement for an orphaned one-to-one delete results in an exception due to entity references being mixed up. In the code below from org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:258) the entity variable is an EntityEntry for the parent object but loadedValue is the instance of the now-orphaned child object.<br><br>{code}<br>if ( LOG.isTraceEnabled() ) {<br>        final Serializable id = entry.getPersister().getIdentifier( loadedValue</span>
<span class="diffcontext">,</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"> eventSource );<br>        final String description = MessageHelper.infoString( entityName, id );<br>        LOG.tracev( "Deleting orphaned entity instance: {0}", description );<br>}<br>{code}<br><br>The resulting stack trace looks like:<br>{noformat}<br>org.springframework.orm.hibernate3.HibernateSystemException: could not get a field value by reflection getter of org.jasig.portal.events.aggr.tab.TabRenderAggregationImpl.id; nested exception is org.hibernate.PropertyAccessException: could not get a field value by reflection getter of org.jasig.portal.events.aggr.tab.TabRenderAggregationImpl.id<br>        at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:690)<br>        at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:104)<br>        at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)<br>        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)<br>        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)<br>        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147)<br>        at org.jasig.portal.</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> numerous</span>
<span class="diffcontext">test</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> failures occur</span>
<span class="diffcontext">.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">BaseJpaDaoTest$2.call(BaseJpaDaoTest.java</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> Most are due to</span>
<span class="diffcontext">:</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">146)</span>
<span class="diffcontext"><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">        at org.jasig.portal.test.BaseJpaDaoTest$MethodInvocationCallable.proceed(BaseJpaDaoTest.java:214)</span>
<span class="diffcontext"><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">        at org.springframework.orm.jpa.JpaInterceptor.invoke(JpaInterceptor.java:101)<br>        at org.jasig.portal.test.BaseJpaDaoTest.execute(BaseJpaDaoTest.java:126)<br>        at org.jasig.portal.test.BaseJpaDaoTest.executeInTransaction(BaseJpaDaoTest.java:143)<br>        at org.jasig.portal.events.aggr.JpaBaseAggregationDaoTest.testBaseAggregationLifecycle(JpaBaseAggregationDaoTest.java:209)<br>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>        at java.lang.reflect.Method.invoke(Method.java:597)<br>        at org.junit.runners.model.FrameworkMethod$</span>
<span class="diffcontext">1.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">runReflectiveCall(FrameworkMethod.java:45</span>
<span class="diffcontext">)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        at org</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> Usage of property-refs affects collection keys</span>
<span class="diffcontext">.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)<br>        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)<br>        at org.junit.internal.runners.</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> Many logging</span>
<span class="diffcontext">statements</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> incorrectly assume that collection keys are owner Ids</span>
<span class="diffcontext">.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">InvokeMethod.evaluate(InvokeMethod.java:20)</span>
<span class="diffcontext"><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">        at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)<br>        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)<br>        at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)<br>        at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)<br>        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)<br>        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)<br>        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)<br>        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)<br>        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)<br>        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)<br>        at org.junit.runners.ParentRunner$</span>
<span class="diffcontext">2.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">evaluate(ParentRunner.java:222</span>
<span class="diffcontext">)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)<br>        at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)<br>        at org.junit.runners.ParentRunner.run(ParentRunner.java:300)<br>        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)<br>        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)<br>        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)<br>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)<br>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)<br>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)<br>        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)<br>Caused by: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of org.jasig.portal.events.aggr.tab.TabRenderAggregationImpl.id<br>        at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:61)<br>        at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:341)<br>        at org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:4260)<br>        at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:258)<br>        at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165)<br>        at org.hibernate.event.internal.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:160)<br>        at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:151)<br>        at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)<br>        at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)<br>        at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081)<br>        at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)<br>        at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)<br>        at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)<br>        at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:73)<br>        at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)<br>        ... 38 more<br>Caused by: java.lang.IllegalArgumentException: Can not set final long field org.jasig.portal.events.aggr.tab.TabRenderAggregationImpl.id</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> Cascading logging on orphaned one-</span>
<span class="diffcontext"> to</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"> org.jasig.portal.events.aggr.JpaStatisticalSummary</span>
<span class="diffaddedchars" style="background-color:#ddfade;">-one entities</span>
<span class="diffcontext"><br></span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">        at sun</span>
<span class="diffaddedchars" style="background-color:#ddfade;">3</span>
<span class="diffcontext">.</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;">reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146</span>
<span class="diffcontext">)</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"><br>        at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150)<br>        at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37)<br>        at sun.reflect.UnsafeQualifiedLongFieldAccessorImpl.getLong(UnsafeQualifiedLongFieldAccessorImpl.java:44)<br>        at sun.reflect.UnsafeQualifiedLongFieldAccessorImpl.get(UnsafeQualifiedLongFieldAccessorImpl.java:20)<br>        at java.lang.reflect.Field.get(Field.java:358)<br>        at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:58)<br>        ... 52 more<br>{noformat}</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> Incorrect handling of HibernateProxy Ids</span>
</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;">Pull Requests:</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="diffcontext">https://github.com/hibernate/hibernate-orm/pull/343</span>
</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;">Summary:</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;">Cascade mixes entity references in trace</span>
<span class="diffaddedchars" style="background-color:#ddfade;">Trace</span>
<span class="diffcontext"> logging</span>
<span class="diffremovedchars" style="background-color:#ffe7e7;text-decoration:line-through;"> of orphan delete</span>
<span class="diffaddedchars" style="background-color:#ddfade;"> causes numerous test errors</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 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 -->