<!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/7dc0b9e02954cd51cb820664c47fda92?d=mm&amp;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="Siluetti" id="email_Siluetti" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=Siluetti" style="color:#6c797f;; color: #3b73af; text-decoration: none">Jukka H&auml;m&auml;l&auml;inen</a> <strong>created</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">
                                &nbsp;
                            </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-10257" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-b9bf97de-bb32-4eaa-9612-68233aeaf73f" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="https://hibernate.atlassian.net/browse/HHH-10257" style="color: #3b73af; text-decoration: none">HHH-10257</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-10257" style="color: #3b73af; text-decoration: none">GenerationType.AUTO not checking database provider and never using org.hibernate.id.IdentityGenerator</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">
                                            Issue Type:
                                        </th> 
                                        <td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-avatar-b9bf97de-bb32-4eaa-9612-68233aeaf73f" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /> Bug 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Affects Versions:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             5.0.3, 5.0.2, 5.0.1 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Assignee:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             Unassigned 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Attachments:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             IdNotGeneratedByDefaultTestProject.zip 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Components:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             hibernate-core 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Created:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             04/Nov/2015 02:57 AM 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Priority:
                                        </th> 
                                        <td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-critical-5e5cbee9-f555-41cb-9a2c-eeb7b948a74f" height="16" width="16" border="0" align="absmiddle" alt="Critical" style="vertical-align: text-bottom" /> Critical 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Reporter:
                                        </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="Siluetti" id="email_Siluetti" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=Siluetti" style="color:#6c797f;; color: #3b73af; text-decoration: none">Jukka H&auml;m&auml;l&auml;inen</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"> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Hibernate method org.hibernate.boot.internal.IdGeneratorInterpreterImpl.FallbackInterpreter.determineGeneratorName has switch case with following default:</p> 
                                            <div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
                                                <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                    <pre class="code-java" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-comment" style="color: #808080">// AUTO
</span>                                        <span class="code-keyword" style="color: #000091">final</span> <span class="code-object" style="color: #910091">Class</span> javaType = context.getIdType();
                                        <span class="code-keyword" style="color: #000091">if</span> ( UUID.class.isAssignableFrom( javaType ) ) {
                                                <span class="code-keyword" style="color: #000091">return</span> UUIDGenerator.class.getName();
                                        }
                                        <span class="code-keyword" style="color: #000091">else</span> {
                                                <span class="code-keyword" style="color: #000091">return</span> org.hibernate.id.enhanced.SequenceStyleGenerator.class.getName();
                                        }
</pre> 
                                                </div>
                                            </div> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">I don't know if this is intentional, but as JPA documentation says about GenerationType.AUTO:</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0"> &quot;Indicates that the persistence provider should pick an appropriate strategy for the particular database.&quot;</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">It seems the current implementation does not in any way check what kind of database it is using and whether or not the database supports identity generation. GenerationType.AUTO works correctly in Hibernate 3.5.6-Final and while I understand that the major number has changed and therefore there is no guaranteed backwards compatibility, this seems quite a big leap to take.</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Attached is a test case that can be used to verify the problem. Running mvn clean package on project root should run AbstractHibernateEntityDAOInsertNewTest which should fail. The test has AbstractHibernateEntityDAOInsertNewTest-dataset.xml defining single entity persisted into database. The test tries to persist another entity and fails because Hibernate is using org.hibernate.id.enhanced.SequenceStyleGenerator which always gives the new entity id 1 totally oblivious of the fact that there is persistent entity with that id.</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">So when running Hibernate 5.0.3.Final the test fails and logs out following:</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">2015-11-04 10:59:48 DEBUG SqlStatementLogger.java:92 insert into EntityWithName (created, deleted, modified, version, name, id) values (?, ?, ?, ?, ?, ?)<br /> Hibernate: insert into EntityWithName (created, deleted, modified, version, name, id) values (?, ?, ?, ?, ?, ?)<br /> 2015-11-04 10:59:48 TRACE BasicBinder.java:64 binding parameter <span class="error">[1]</span> as <span class="error">[TIMESTAMP]</span> - <span class="error">[Wed Nov 04 10:59:48 EET 2015]</span><br /> 2015-11-04 10:59:48 TRACE BasicBinder.java:52 binding parameter <span class="error">[2]</span> as <span class="error">[TIMESTAMP]</span> - <span class="error">[null]</span><br /> 2015-11-04 10:59:48 TRACE BasicBinder.java:64 binding parameter <span class="error">[3]</span> as <span class="error">[TIMESTAMP]</span> - <span class="error">[Wed Nov 04 10:59:48 EET 2015]</span><br /> 2015-11-04 10:59:48 TRACE BasicBinder.java:64 binding parameter <span class="error">[4]</span> as <span class="error">[INTEGER]</span> - <span class="error">[0]</span><br /> 2015-11-04 10:59:48 TRACE BasicBinder.java:64 binding parameter <span class="error">[5]</span> as <span class="error">[VARCHAR]</span> - <span class="error">[two]</span><br /> 2015-11-04 10:59:48 TRACE BasicBinder.java:64 binding parameter <span class="error">[6]</span> as <span class="error">[INTEGER]</span> - <span class="error">[1]</span></p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">There are two workarounds, either<br /> A) set Entity.id to use GenerationType.IDENTITY<br /> B) stab Hibernate code to always return IdentityGenerator.class.getName(); from IdGeneratorInterpreterImpl.FallbackInterpreter.determineGeneratorName when switch goes into default.</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">When using either of these workarounds, the test passes and gives following log:</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">2015-11-04 10:56:16 DEBUG SqlStatementLogger.java:92 insert into EntityWithName (id, created, deleted, modified, version, name) values (default, ?, ?, ?, ?, ?)</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">2015-11-04 10:56:16 TRACE BasicBinder.java:64 binding parameter <span class="error">[1]</span> as <span class="error">[TIMESTAMP]</span> - <span class="error">[Wed Nov 04 10:56:16 EET 2015]</span><br /> 2015-11-04 10:56:16 TRACE BasicBinder.java:52 binding parameter <span class="error">[2]</span> as <span class="error">[TIMESTAMP]</span> - <span class="error">[null]</span><br /> 2015-11-04 10:56:16 TRACE BasicBinder.java:64 binding parameter <span class="error">[3]</span> as <span class="error">[TIMESTAMP]</span> - <span class="error">[Wed Nov 04 10:56:16 EET 2015]</span><br /> 2015-11-04 10:56:16 TRACE BasicBinder.java:64 binding parameter <span class="error">[4]</span> as <span class="error">[INTEGER]</span> - <span class="error">[0]</span><br /> 2015-11-04 10:56:16 TRACE BasicBinder.java:64 binding parameter <span class="error">[5]</span> as <span class="error">[VARCHAR]</span> - <span class="error">[two]</span><br /> 2015-11-04 10:56:16 DEBUG IdentifierGeneratorHelper.java:74 Natively generated identity: 2</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Is the current functionality by design or by mistake?</p> 
                                        </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-10257#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-af43f486-e42f-447b-9855-a649b173eabd" 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-10257#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">
                                &nbsp;
                            </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-64aa7f4d-5eec-4b96-9113-f0b13151e121" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" /> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                    </table> 
                </td> 
            </tr> 
        </table>   
    </body>
</html>