<!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/8477978a8c252630d53ff4f6d396e733?s=48&d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2F8477978a8c252630d53ff4f6d396e733%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="mfrey0" id="email_mfrey0" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=mfrey0" style="color:#6c797f;; color: #3b73af; text-decoration: none">Martin Frey</a> <strong>updated</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"> </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-11797" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-253ad399-252d-4b0f-8bc7-40cd618daaa2" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"></a> <a href="https://hibernate.atlassian.net/browse/HHH-11797" style="color: #3b73af; text-decoration: none">HHH-11797</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-11797" style="color: #3b73af; text-decoration: none">Envers Map<Enum, Entity> not auditing correctly</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">Change By:</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="mfrey0" id="email_mfrey0" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=mfrey0" style="color:#6c797f;; color: #3b73af; text-decoration: none">Martin Frey</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"> <span class="diffcontext">Hello<br>I think I discovered a bug in envers while using a Map<enum, entity>. Envers does not produce the KEY column in the database and also forgets the additional Update query during auditing. It might also just be a configuration issue so I'm posting the related model and mappings: <br><br>While the *operationDetails* table contains the column *operationdetails_KEY* the corresponding audit table does not. From what I can see there is neither an audit join table created. (probably that is the issue?)<br><br>The system runs fine in general. I just discovered this issue while trying to</span> <span class="diffremovedchars" style="background-color: #ffe7e7; text-decoration:line-through;"> integration</span> <span class="diffaddedchars" style="background-color:#ddfade;"> integrate</span> <span class="diffcontext"> *Javers* to be able to build *diffs* from two audit query results. As the *key*-information is missing we end up with a map containing ONE *null* key with one *OperationDetails*.<br><br>{code:java}<br>@Entity<br>@Audited<br>@Table(name = "operation")<br>public class Operation extends VersionedEntity {<br> @OneToMany(mappedBy = "operation", fetch = FetchType.LAZY)<br> @Cascade(CascadeType.ALL)<br> @MapKeyEnumerated(EnumType.STRING)<br> private Map<OperationDetailsType, OperationDetails> operationDetails;<br>}<br><br><br>@Entity<br>@Audited<br>@Table(name = "operationdetails")<br>public class OperationDetails extends BaseEntity {<br> @ManyToOne(fetch = FetchType.LAZY, optional = false)<br> @JoinColumn(name = "operation_id", nullable = false)<br> @NotNull<br> private Operation operation;<br>}<br>{code}<br><br><br>{code:sql}<br>create table operation (id integer not null, uuid varchar(40) not null, version integer, created_date timestamp not null, emailnotification boolean not null, modified_date timestamp not null, status varchar(255) not null, description varchar(2000) not null, target varchar(255) not null, creator_id integer not null, scope_id integer not null, currenttask_id integer not null, executor_id integer not null, primary key (id));<br><br>create table operationdetails (id integer not null, uuid varchar(40) not null, details varchar(1000), operation_id integer not null, operationdetails_KEY varchar(255), primary key (id));<br><br>create table Z_AUD_operation (id integer not null, REV integer not null, REVTYPE tinyint, uuid varchar(255), created_date timestamp, emailnotification boolean, modified_date timestamp, status varchar(255), description varchar(255), target varchar(255), creator_id integer, scope_id integer, currenttask_id integer, executor_id integer, primary key (id, REV));<br><br>create table Z_AUD_operationdetails (id integer not null, REV integer not null, REVTYPE tinyint, uuid varchar(255), details varchar(1000), operation_id integer, primary key (id, REV));<br><br>{code}<br><br><br>{code:java}<br>public class Test {<br> public void create() {<br> Operation operation = new Operation();<br> OperationDetails od = new OperationDetails();<br> od.setOperation(operation);<br> operation.getOperationDetails().put(OperationDetailsType.FIRST, od);<br><br> od = new OperationDetails();<br> od.setOperation(operation);<br> operation.getOperationDetails().put(OperationDetailsType.SECOND, od);<br> }<br>}<br>{code}<br><br>{code:none}<br>2017-06-08 21:48:58,774 [main] DEBUG o.h.SQL - call next value for operation_SEQ<br>2017-06-08 21:48:58,776 [main] DEBUG o.h.SQL - call next value for operationdetails_SEQ<br>2017-06-08 21:48:58,778 [main] DEBUG o.h.SQL - call next value for operationdetails_SEQ<br>2017-06-08 21:48:58,791 [main] DEBUG o.h.SQL - insert into operation (uuid, version, created_date, creator_id, emailnotification, modified_date, status, scope_id, currentTask_id, description, executor_id, target, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)<br>2017-06-08 21:48:58,801 [main] DEBUG o.h.SQL - insert into operationdetails (uuid, details, operation_id, id) values (?, ?, ?, ?)<br>2017-06-08 21:48:58,807 [main] DEBUG o.h.SQL - insert into operationdetails (uuid, details, operation_id, id) values (?, ?, ?, ?)<br>2017-06-08 21:48:58,810 [main] DEBUG o.h.SQL - update operationdetails set operationDetails_KEY=? where id=?<br>2017-06-08 21:48:58,811 [main] DEBUG o.h.SQL - update operationdetails set operationDetails_KEY=? where id=?<br>2017-06-08 21:48:58,849 [main] DEBUG o.h.SQL - update operation set version=?, created_date=?, creator_id=?, emailnotification=?, modified_date=?, status=?, scope_id=?, currentTask_id=?, description=?, executor_id=?, target=? where id=? and version=?<br>2017-06-08 21:48:58,863 [main] DEBUG o.h.SQL - call next value for hibernate_sequence<br>2017-06-08 21:48:58,864 [main] DEBUG o.h.SQL - call next value for z_revisioninfo_SEQ<br>2017-06-08 21:48:58,881 [main] DEBUG o.h.SQL - insert into z_revisioninfo (uuid, lead, transition_comment, transition_name, user_id, type_disc, id) values (?, ?, ?, ?, ?, 'RevisionInfo', ?)<br>2017-06-08 21:48:58,884 [main] DEBUG o.h.SQL - insert into z_revisionentity (revisionInfo_id, timestamp, id) values (?, ?, ?)<br>2017-06-08 21:48:58,886 [main] DEBUG o.h.SQL - insert into Z_AUD_Task (REVTYPE, uuid, created_date, emailnotification, modified_date, status, amount, description, iterations, letter, running, target, title, creator_id, scope_id, country_id, currentTaskType_id, details_id, responsible_id, id, REV) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)<br>2017-06-08 21:48:58,891 [main] DEBUG o.h.SQL - insert into Z_AUD_operationdetails (REVTYPE, uuid, details, operation_id, id, REV) values (?, ?, ?, ?, ?, ?)<br>2017-06-08 21:48:58,893 [main] DEBUG o.h.SQL - insert into Z_AUD_operationdetails (REVTYPE, uuid, details, operation_id, id, REV) values (?, ?, ?, ?, ?, ?)<br>2017-06-08 21:48:58,894 [main] DEBUG o.h.SQL - insert into Z_AUD_operation (REVTYPE, uuid, created_date, emailnotification, modified_date, status, description, target, creator_id, scope_id, currentTask_id, executor_id, id, REV) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)<br>{code}<br><br><br>Please let me know if you need anything more.</span> </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-11797?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-11797#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-091afdb2-415e-4ec6-a008-821c7e504a1a" 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-11797#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"> </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>
</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">(v1000.1045.2#100046-<span title="c375a71b67f3fdccea1a271097e8228667701032" data-commit-id="c375a71b67f3fdccea1a271097e8228667701032}">sha1:c375a71</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"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-6aac20d0-1827-41c9-8778-262fcc4e71c5" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix"> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
</body>
</html>