<!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: #333; 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: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<!-- header here -->
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="https://secure.gravatar.com/avatar/5720e514e6ae507d79ca64b072ce90c8?d=mm&s=48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" />
</td>
<td id="header-text-container" valign="middle" style="padding: 0px; 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="fuzails" id="email_fuzails" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=fuzails" style="color:#6c797f;; color: #3b73af; text-decoration: none">Fuzail Sarang</a> <strong>updated</strong> an issue
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="email-content-container" style="padding: 0px; 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: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate">
<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: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; 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">
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="page-title-pattern-first-line " style="padding: 0px; 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-10246" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-f74649d0-a23b-470e-99c4-60476dd52c06" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="https://hibernate.atlassian.net/browse/HHH-10246" style="color: #3b73af; text-decoration: none">HHH-10246</a>
</td>
</tr>
<tr>
<td style="vertical-align: top;; padding: 0px; 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-10246" style="color: #3b73af; text-decoration: none">PropertyNotFoundException with Hibernate Envers when using referencedColumn in @JoinColumn and bidirectional @OneTomany</a> </span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 10px; padding-bottom: 5px">
<table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
Change By:
</th>
<td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="fuzails" id="email_fuzails" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=fuzails" style="color:#6c797f;; color: #3b73af; text-decoration: none">Fuzail Sarang</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 5px; padding-bottom: 10px">
<table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tr>
<td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0"> <span class="diffcontext">We get the following error message when persisting/updating/deleting associations:<br />{code}<br /></span> <span class="diffaddedchars" style="background-color:#ddfade;">Caused by:</span> <span class="diffcontext">org.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">springframework</span> <span class="diffaddedchars" style="background-color:#ddfade;">hibernate</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">orm.jpa.JpaSystemException</span> <span class="diffaddedchars" style="background-color:#ddfade;">PropertyNotFoundException</span> <span class="diffcontext">: Could not</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;"> find a</span> <span class="diffaddedchars" style="background-color:#ddfade;"> locate</span> <span class="diffcontext"> getter</span> <span class="diffaddedchars" style="background-color:#ddfade;"> method</span> <span class="diffcontext"> for</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;"> null in class com</span> <span class="diffaddedchars" style="background-color:#ddfade;"> property [co</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">albaraka</span> <span class="diffaddedchars" style="background-color:#ddfade;">fingerprintsoft</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">srs</span> <span class="diffaddedchars" style="background-color:#ddfade;">spring</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">forex</span> <span class="diffaddedchars" style="background-color:#ddfade;">hibernate</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">domain</span> <span class="diffaddedchars" style="background-color:#ddfade;">audit</span> <span class="diffcontext">.Customer</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">; nested exception is</span> <span class="diffaddedchars" style="background-color:#ddfade;">#null]<br /> at</span> <span class="diffcontext"> org.hibernate.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">PropertyNotFoundException</span> <span class="diffaddedchars" style="background-color:#ddfade;">internal.util.ReflectHelper.findGetterMethod(ReflectHelper.java</span> <span class="diffcontext">:</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;"> Could not find a getter for null in class com</span> <span class="diffaddedchars" style="background-color:#ddfade;">400)<br /> at org</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">albaraka</span> <span class="diffaddedchars" style="background-color:#ddfade;">hibernate</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">srs</span> <span class="diffaddedchars" style="background-color:#ddfade;">property</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">forex</span> <span class="diffaddedchars" style="background-color:#ddfade;">access</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">domain</span> <span class="diffaddedchars" style="background-color:#ddfade;">internal</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">Customer</span> <span class="diffaddedchars" style="background-color:#ddfade;">PropertyAccessBasicImpl.<init>(PropertyAccessBasicImpl.java:41)</span> <span class="diffcontext"><br /> at org.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">springframework</span> <span class="diffaddedchars" style="background-color:#ddfade;">hibernate</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">orm</span> <span class="diffaddedchars" style="background-color:#ddfade;">property</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">jpa</span> <span class="diffaddedchars" style="background-color:#ddfade;">access</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">vendor</span> <span class="diffaddedchars" style="background-color:#ddfade;">internal</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">HibernateJpaDialect</span> <span class="diffaddedchars" style="background-color:#ddfade;">PropertyAccessStrategyBasicImpl</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">convertHibernateAccessException</span> <span class="diffaddedchars" style="background-color:#ddfade;">buildPropertyAccess</span> <span class="diffcontext">(</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">HibernateJpaDialect</span> <span class="diffaddedchars" style="background-color:#ddfade;">PropertyAccessStrategyBasicImpl</span> <span class="diffcontext">.java:</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">310</span> <span class="diffaddedchars" style="background-color:#ddfade;">27</span> <span class="diffcontext">)<br /> at org.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">springframework</span> <span class="diffaddedchars" style="background-color:#ddfade;">hibernate</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">orm</span> <span class="diffaddedchars" style="background-color:#ddfade;">envers</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">jpa</span> <span class="diffaddedchars" style="background-color:#ddfade;">internal</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">vendor</span> <span class="diffaddedchars" style="background-color:#ddfade;">tools</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">HibernateJpaDialect</span> <span class="diffaddedchars" style="background-color:#ddfade;">ReflectionTools</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">translateExceptionIfPossible</span> <span class="diffaddedchars" style="background-color:#ddfade;">getGetter</span> <span class="diffcontext">(</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">HibernateJpaDialect</span> <span class="diffaddedchars" style="background-color:#ddfade;">ReflectionTools</span> <span class="diffcontext">.java:</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">221</span> <span class="diffaddedchars" style="background-color:#ddfade;">53</span> <span class="diffcontext">)<br /> at org.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">springframework</span> <span class="diffaddedchars" style="background-color:#ddfade;">hibernate</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">orm</span> <span class="diffaddedchars" style="background-color:#ddfade;">envers</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">jpa</span> <span class="diffaddedchars" style="background-color:#ddfade;">internal</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">JpaTransactionManager</span> <span class="diffaddedchars" style="background-color:#ddfade;">tools</span> <span class="diffcontext">.</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">doCommit</span> <span class="diffaddedchars" style="background-color:#ddfade;">ReflectionTools.getGetter</span> <span class="diffcontext">(</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">JpaTransactionManager</span> <span class="diffaddedchars" style="background-color:#ddfade;">ReflectionTools</span> <span class="diffcontext">.java:</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">521</span> <span class="diffaddedchars" style="background-color:#ddfade;">46</span> <span class="diffcontext">)<br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"> at org.hibernate.envers.internal.entities.mapper.MultiPropertyMapper.mapToMapFromEntity(MultiPropertyMapper.java:105)<br /> at org.hibernate.envers.internal.synchronization.work.CollectionChangeWorkUnit.generateData(CollectionChangeWorkUnit.java:48)<br /> at org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit.perform(AbstractAuditWorkUnit.java:62)<br /> at org.hibernate.envers.internal.synchronization.AuditProcess.executeInSession(AuditProcess.java:106)<br /> at org.hibernate.envers.internal.synchronization.AuditProcess.doBeforeTransactionCompletion(AuditProcess.java:153)<br /> at org.hibernate.envers.internal.synchronization.AuditProcessManager$1.doBeforeTransactionCompletion(AuditProcessManager.java:46)<br /> at org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.beforeTransactionCompletion(ActionQueue.java:706)<br /> at org.hibernate.engine.spi.ActionQueue.beforeTransactionCompletion(ActionQueue.java:373)<br /> at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2271)<br /> at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485)<br /> at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:146)<br /> at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38)<br /> at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:230)<br /> at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65)<br /> at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:61)</span> <span class="diffcontext">{code}<br />We have tracked down the error to:<br />{code}<br /> @Override<br /> public boolean mapToMapFromEntity(<br /> SessionImplementor session,<br /> Map<String, Object> data,<br /> Object newObj,<br /> Object oldObj) {<br /> boolean ret = false;<br /> for ( PropertyData propertyData : properties.keySet() ) {<br /> Getter getter;<br /> if ( newObj != null ) {<br /> getter = ReflectionTools.getGetter( newObj.getClass(), propertyData, session.getFactory().getServiceRegistry() );<br /> }<br /> else if ( oldObj != null ) {<br /> getter = ReflectionTools.getGetter( oldObj.getClass(), propertyData, session.getFactory().getServiceRegistry() );<br /> }<br /> else {<br /> return false;<br /> }<br /><br /> ret |= properties.get( propertyData ).mapToMapFromEntity(<br /> session, data,<br /> newObj == null ? null : getter.get( newObj ),<br /> oldObj == null ? null : getter.get( oldObj )<br /> );<br /> }<br /><br /> return ret;<br /> }<br />{code}<br />Specifically the line:<br />{code}<br /> getter = ReflectionTools.getGetter( newObj.getClass(), propertyData, session.getFactory().getServiceRegistry() );<br /> }<br />{code}<br />To replicate the error:<br />h5. Customer.java<br />{code:java}<br />import java.io.Serializable;<br />import java.util.ArrayList;<br />import java.util.Collection;<br />import java.util.HashSet;<br />import java.util.Set;<br /><br />import javax.persistence.CascadeType;<br />import javax.persistence.Entity;<br />import javax.persistence.GeneratedValue;<br />import javax.persistence.GenerationType;<br />import javax.persistence.Id;<br />import javax.persistence.OneToMany;<br />import javax.validation.constraints.Size;<br /><br />import org.hibernate.annotations.NaturalId;<br />import org.hibernate.envers.Audited;<br />import org.hibernate.validator.constraints.Length;<br /><br />import com.sun.istack.internal.NotNull;<br /><br /></span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">import lombok.Data;<br /><br /></span> <span class="diffcontext">@</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">Data<br />@</span> <span class="diffcontext">Entity<br />@Audited<br />public class Customer implements Serializable {<br /><br /> @Id<br /> @GeneratedValue(strategy = GenerationType.IDENTITY)<br /> private Long id;<br /> @NaturalId<br /> @NotNull<br /> @Length(min = 6, max = 6)<br /> private String customerNumber;<br /><br /> @Audited<br /> @OneToMany(mappedBy = "customer")<br /> private Collection<Account> accounts = new ArrayList();<br /><br /> @Size(max = 10, message = "{Size.customer.devices}")<br /> @OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)<br /> private Set<Device> devices = new HashSet();<br /><br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"> public String getCustomerNumber() {<br /> return customerNumber;<br /></span> <span class="diffcontext">}<br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br /> public void setCustomerNumber(String customerNumber)</span> <span class="diffcontext">{</span> <span class="diffaddedchars" style="background-color:#ddfade;"><br /> this.customerNumber = customerNumber;<br /> }<br /><br /> public Collection<Account> getAccounts() {<br /> return accounts;<br /> }<br /><br /> public void setAccounts(Collection<Account> accounts) {<br /> this.accounts = accounts;<br /> }<br /><br /> public Set<Device> getDevices() {<br /> return devices;<br /> }<br /><br /> public void setDevices(Set<Device> devices) {<br /> this.devices = devices;<br /> }<br />}<br />{</span> <span class="diffcontext">code} <br />h5. Account.java<br />{code:java}<br />import javax.persistence.Entity;<br />import javax.persistence.ForeignKey;<br />import javax.persistence.GeneratedValue;<br />import javax.persistence.GenerationType;<br />import javax.persistence.Id;<br />import javax.persistence.JoinColumn;<br />import javax.persistence.ManyToOne;<br />import javax.validation.constraints.NotNull;<br /><br />import org.hibernate.envers.Audited;<br /><br /></span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">import lombok.Data;<br /><br /></span> <span class="diffcontext">@</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">Data<br />@</span> <span class="diffcontext">Entity<br />@Audited<br />public class Account {<br /><br /><br /> @Id<br /> @GeneratedValue(strategy = GenerationType.IDENTITY)<br /> private Long id;<br /><br /> @Audited<br /> @ManyToOne<br /> @JoinColumn(<br /> name = "customer_customernumber",<br /> referencedColumnName = "customerNumber",<br /> columnDefinition = "VARCHAR(6)",<br /> foreignKey = @ForeignKey(name = "fk_acc_cust_custnumber")<br /><br /> )<br /> @NotNull<br /> private Customer customer;<br /><br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"> public Long getId() {<br /> return id;<br /></span> <span class="diffcontext">}<br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br /> public void setId(Long id)</span> <span class="diffcontext">{</span> <span class="diffaddedchars" style="background-color:#ddfade;"><br /> this.id = id;<br /> }<br /><br /> public Customer getCustomer() {<br /> return customer;<br /> }<br /><br /> public void setCustomer(Customer customer) {<br /> this.customer = customer;<br /> }<br />}<br />{</span> <span class="diffcontext">code}<br />h5. Device.java<br />{code:java}<br />import javax.persistence.Entity;<br />import javax.persistence.ForeignKey;<br />import javax.persistence.GeneratedValue;<br />import javax.persistence.GenerationType;<br />import javax.persistence.Id;<br />import javax.persistence.JoinColumn;<br />import javax.persistence.ManyToOne;<br /><br />import org.hibernate.envers.Audited;<br /><br /></span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">import lombok.Data;<br /><br /></span> <span class="diffcontext">@</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;">Data<br />@</span> <span class="diffcontext">Entity<br />@Audited<br />public class Device {<br /><br /> @Id<br /> @GeneratedValue(strategy = GenerationType.IDENTITY)<br /> private Long id;<br /><br /> @Audited<br /> @ManyToOne<br /> @JoinColumn(name = "customer_id",<br /> foreignKey = @ForeignKey(name = "fk_dev_cust_id")<br /> )<br /> private Customer customer;<br /><br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"> public Long getId() {<br /> return id;<br /></span> <span class="diffcontext">}<br /></span> <span class="diffaddedchars" style="background-color:#ddfade;"><br /> public void setId(Long id)</span> <span class="diffcontext">{</span> <span class="diffaddedchars" style="background-color:#ddfade;"><br /> this.id = id;<br /> }<br /><br /> public Customer getCustomer() {<br /> return customer;<br /> }<br /><br /> public void setCustomer(Customer customer) {<br /> this.customer = customer;<br /> }<br />}<br />{</span> <span class="diffcontext">code}<br />h5. Scenario<br />{code:java}<br /> Customer customer = new Customer();<br /> customer.setCustomerNumber("123457");<br /> entityManager.getTransaction().begin();<br /> entityManager.persist(customer);<br /> entityManager.getTransaction().commit();<br /><br /> Device device = new Device();<br /> device.setCustomer(customer);<br /><br /> Account account = new Account();<br /> account.setCustomer(customer);<br /> entityManager.getTransaction().begin();<br /> entityManager.persist(account);<br /> entityManager.getTransaction().commit();<br /> entityManager.getTransaction().begin();<br /> entityManager.remove(account);<br /> entityManager.getTransaction().commit();<br />{code}<br />The problem stems from the fact that the property is not correctly identified in the</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;"> ProperyData</span> <span class="diffaddedchars" style="background-color:#ddfade;"> PropertyData</span> <span class="diffcontext"> field:<br />{code}<br />propertyData = {PropertyData@6977} <br />name = {String@6983} "_co_fingerprintsoft_spring_hibernate_audit_Account_customer"<br />beanName = null<br />accessType = {String@6984} "property"<br />store = {ModificationStore@6908} "FULL"<br />usingModifiedFlag = false<br />modifiedFlagName = {String@6985} "customerNumber_MOD"<br />{code}</span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HHH-10246#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-ba5673d1-87f3-4423-bf4b-ea91d1441c1e" 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: 0px; 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-10246#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a>
</td>
</tr>
</table>
</td>
</tr>
</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: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; 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">(v7.0.0-OD-08-005#70107-<span title="5fb2f7e0c016d05ff672e1e32fcd963de6cf92ae" data-commit-id="5fb2f7e0c016d05ff672e1e32fcd963de6cf92ae}">sha1:5fb2f7e</span>)</span>
</td>
<td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top">
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt">
<tr>
<td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-e4acc55f-5871-4cba-bc7b-00a7e572e52f" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>