<!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://secure.gravatar.com/avatar/526d2a72f963ccc832e565e7e1043e9b?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FVS-2.png&amp;size=48&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: 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="victorwssilva" style="color:#6c797f;; color: #3b73af; text-decoration: none" id="email_victorwssilva" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5e8c88d18764110b8173d983"> Victor Williams Stafusa da Silva </a> <strong>created</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">&nbsp;</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?atlOrigin=eyJpIjoiYzE1Y2Q3NTlkZTBiNDUzYWI3ZDQ3NjM3Y2Y2OWJmMGYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">Hibernate ORM</a> / <a href="https://hibernate.atlassian.net/browse/HHH-13938?atlOrigin=eyJpIjoiYzE1Y2Q3NTlkZTBiNDUzYWI3ZDQ3NjM3Y2Y2OWJmMGYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-fa688689-a2f4-41dd-af92-1747c7716044" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"></a> <a href="https://hibernate.atlassian.net/browse/HHH-13938?atlOrigin=eyJpIjoiYzE1Y2Q3NTlkZTBiNDUzYWI3ZDQ3NjM3Y2Y2OWJmMGYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">HHH-13938</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-13938?atlOrigin=eyJpIjoiYzE1Y2Q3NTlkZTBiNDUzYWI3ZDQ3NjM3Y2Y2OWJmMGYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">NullPointerException at org.hibernate.boot.archive.scan.spi.ClassFileArchiveEntryHandler.toClassDescriptor - Hibernate 6.0.0.Alpha4</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">Issue Type:</th> 
                                                    <td class="has-icon" style="padding: 0; 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-fa688689-a2f4-41dd-af92-1747c7716044" 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: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 6.0.0.Alpha4 </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: 0; 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">Components:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> hibernate-core, regression </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: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 07/Apr/2020 07:38 AM </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Environment:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> Hibernate 6.0.0.Alpha4 <br> Java 13.0.4 <br> Javac 13.0.4 </td> 
                                                </tr> 
                                                <tr> 
                                                    <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Labels:</th> 
                                                    <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> regression </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: 0; 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-major-5d208259-c56a-474c-84d4-9985d3be6d8f" height="16" width="16" border="0" align="absmiddle" alt="Major" style="vertical-align: text-bottom"> Major </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: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="victorwssilva" style="color:#6c797f;; color: #3b73af; text-decoration: none" id="email_victorwssilva" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5e8c88d18764110b8173d983"> Victor Williams Stafusa da Silva </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"> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0; margin-top: 0">This code works fine in Hibernate 5.4.13.Final, but gives a `NullPointerException` at Hibernate 6.0.0.Alpha4:</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Test file:</p> 
                                                        <div class="code panel" style="border-style: solid;border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                                                            <div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;; border-bottom: 1px solid #cccccc; padding: 9px 12px">
                                                                <b>HBug.java</b>
                                                            </div>
                                                            <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                                <pre class="code-java" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-keyword" style="color: #000091">package</span> com.example;

<span class="code-keyword" style="color: #000091">import</span> java.util.HashMap;
<span class="code-keyword" style="color: #000091">import</span> java.util.Map;
<span class="code-keyword" style="color: #000091">import</span> java.util.Optional;
<span class="code-keyword" style="color: #000091">import</span> java.util.Set;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.spi.PersistenceProvider;
<span class="code-keyword" style="color: #000091">import</span> org.hibernate.SessionFactory;
<span class="code-keyword" style="color: #000091">import</span> org.hibernate.jpa.HibernatePersistenceProvider;

/**
 * @author Victor Williams Stafusa da Silva
 */
<span class="code-keyword" style="color: #000091">public</span> <span class="code-keyword" style="color: #000091">class </span>Hbug {

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-keyword" style="color: #000091">static</span> void main(<span class="code-object" style="color: #910091">String</span>[] args) <span class="code-keyword" style="color: #000091">throws</span> Exception {
        Map&lt;<span class="code-object" style="color: #910091">String</span>, <span class="code-object" style="color: #910091">String</span>&gt; props = <span class="code-keyword" style="color: #000091">new</span> HashMap&lt;&gt;();
        props.put(<span class="code-quote" style="color: #009100">"javax.persistence.jdbc.user"</span>, <span class="code-quote" style="color: #009100">"sa"</span>);
        props.put(<span class="code-quote" style="color: #009100">"javax.persistence.jdbc.password"</span>, "");
        props.put(<span class="code-quote" style="color: #009100">"javax.persistence.jdbc.url"</span>, <span class="code-quote" style="color: #009100">"jdbc:hsqldb:mem:test1"</span>);
        props.put(<span class="code-quote" style="color: #009100">"hibernate.hbm2ddl.import_files_sql_extractor"</span>, <span class="code-quote" style="color: #009100">"org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor"</span>);
        props.put(<span class="code-quote" style="color: #009100">"javax.persistence.schema-generation.database.action"</span>, <span class="code-quote" style="color: #009100">"drop-and-create"</span>);

        PersistenceProvider pp = <span class="code-keyword" style="color: #000091">new</span> HibernatePersistenceProvider();
        <span class="code-keyword" style="color: #000091">var</span> spui = <span class="code-keyword" style="color: #000091">new</span> SimplePersistenceUnitInfo(
                Optional.empty(),
                HibernatePersistenceProvider.class,
                <span class="code-quote" style="color: #009100">"test-1"</span>,
                Set.of(Fruit.class),
                props);
        <span class="code-keyword" style="color: #000091">var</span> emf = pp.createContainerEntityManagerFactory(spui, props);
        <span class="code-keyword" style="color: #000091">if</span> (!(emf <span class="code-keyword" style="color: #000091">instanceof</span> SessionFactory)) <span class="code-keyword" style="color: #000091">throw</span> <span class="code-keyword" style="color: #000091">new</span> Exception(<span class="code-quote" style="color: #009100">"Bad EMF"</span>);
    }
}
</pre> 
                                                            </div>
                                                        </div> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Utilitary class used by the above one:</p> 
                                                        <div class="code panel" style="border-style: solid;border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                                                            <div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;; border-bottom: 1px solid #cccccc; padding: 9px 12px">
                                                                <b>SimplePersistenceUnitInfo.java</b>
                                                            </div>
                                                            <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                                <pre class="code-java" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-keyword" style="color: #000091">package</span> com.example;

<span class="code-keyword" style="color: #000091">import</span> java.io.IOException;
<span class="code-keyword" style="color: #000091">import</span> java.io.UncheckedIOException;
<span class="code-keyword" style="color: #000091">import</span> java.net.URL;
<span class="code-keyword" style="color: #000091">import</span> java.util.Collection;
<span class="code-keyword" style="color: #000091">import</span> java.util.Collections;
<span class="code-keyword" style="color: #000091">import</span> java.util.HashMap;
<span class="code-keyword" style="color: #000091">import</span> java.util.List;
<span class="code-keyword" style="color: #000091">import</span> java.util.Map;
<span class="code-keyword" style="color: #000091">import</span> java.util.Optional;
<span class="code-keyword" style="color: #000091">import</span> java.util.Properties;
<span class="code-keyword" style="color: #000091">import</span> java.util.stream.Collectors;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.SharedCacheMode;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.ValidationMode;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.spi.ClassTransformer;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.spi.PersistenceProvider;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.spi.PersistenceUnitInfo;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.spi.PersistenceUnitTransactionType;
<span class="code-keyword" style="color: #000091">import</span> javax.sql.DataSource;

/**
 * @author Victor Williams Stafusa da Silva
 */
<span class="code-keyword" style="color: #000091">public</span> <span class="code-keyword" style="color: #000091">final</span> <span class="code-keyword" style="color: #000091">class </span>SimplePersistenceUnitInfo <span class="code-keyword" style="color: #000091">implements</span> PersistenceUnitInfo {

    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">final</span> Optional&lt;URL&gt; url;
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">final</span> <span class="code-object" style="color: #910091">Class</span>&lt;? <span class="code-keyword" style="color: #000091">extends</span> PersistenceProvider&gt; providerClass;
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">final</span> <span class="code-object" style="color: #910091">String</span> persistenceUnitName;
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">final</span> List&lt;<span class="code-object" style="color: #910091">String</span>&gt; classes;
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">final</span> Map&lt;<span class="code-object" style="color: #910091">String</span>, <span class="code-object" style="color: #910091">String</span>&gt; properties;

    <span class="code-keyword" style="color: #000091">public</span> SimplePersistenceUnitInfo(
            <span class="code-comment" style="color: #808080">/*@NonNull*/</span> Optional&lt;URL&gt; url,
            <span class="code-comment" style="color: #808080">/*@NonNull*/</span> <span class="code-object" style="color: #910091">Class</span>&lt;? <span class="code-keyword" style="color: #000091">extends</span> PersistenceProvider&gt; providerClass,
            <span class="code-comment" style="color: #808080">/*@NonNull*/</span> <span class="code-object" style="color: #910091">String</span> persistenceUnitName,
            <span class="code-comment" style="color: #808080">/*@NonNull*/</span> Collection&lt;<span class="code-object" style="color: #910091">Class</span>&lt;?&gt;&gt; classes,
            <span class="code-comment" style="color: #808080">/*@NonNull*/</span> Map&lt;<span class="code-object" style="color: #910091">String</span>, <span class="code-object" style="color: #910091">String</span>&gt; properties)
    {
        <span class="code-keyword" style="color: #000091">this</span>.url = url;
        <span class="code-keyword" style="color: #000091">this</span>.providerClass = providerClass;
        <span class="code-keyword" style="color: #000091">this</span>.persistenceUnitName = persistenceUnitName;
        <span class="code-keyword" style="color: #000091">this</span>.classes = classes.stream().map(<span class="code-object" style="color: #910091">Class</span>::getName).collect(Collectors.toList());
        <span class="code-keyword" style="color: #000091">this</span>.properties = <span class="code-keyword" style="color: #000091">new</span> HashMap&lt;&gt;();
        <span class="code-keyword" style="color: #000091">this</span>.properties.putAll(properties);
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getPersistenceUnitName() {
        <span class="code-keyword" style="color: #000091">return</span> persistenceUnitName;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getPersistenceProviderClassName() {
        <span class="code-keyword" style="color: #000091">return</span> providerClass.getName();
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> PersistenceUnitTransactionType getTransactionType() {
        <span class="code-keyword" style="color: #000091">return</span> PersistenceUnitTransactionType.RESOURCE_LOCAL;
    }

    @Override
    <span class="code-comment" style="color: #808080">//@Nullable
</span>    <span class="code-keyword" style="color: #000091">public</span> DataSource getJtaDataSource() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">null</span>;
    }

    @Override
    <span class="code-comment" style="color: #808080">//@Nullable
</span>    <span class="code-keyword" style="color: #000091">public</span> DataSource getNonJtaDataSource() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">null</span>;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> List&lt;<span class="code-object" style="color: #910091">String</span>&gt; getMappingFileNames() {
        <span class="code-keyword" style="color: #000091">return</span> Collections.emptyList();
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> List&lt;URL&gt; getJarFileUrls() {
        <span class="code-keyword" style="color: #000091">try</span> {
            <span class="code-keyword" style="color: #000091">return</span> Collections.list(<span class="code-keyword" style="color: #000091">this</span>.getClass().getClassLoader().getResources(""));
        } <span class="code-keyword" style="color: #000091">catch</span> (IOException e) {
            <span class="code-keyword" style="color: #000091">throw</span> <span class="code-keyword" style="color: #000091">new</span> UncheckedIOException(e);
        }
    }

    <span class="code-comment" style="color: #808080">//@Nullable
</span>    @Override
    <span class="code-keyword" style="color: #000091">public</span> URL getPersistenceUnitRootUrl() {
        <span class="code-keyword" style="color: #000091">return</span> url.orElse(<span class="code-keyword" style="color: #000091">null</span>);
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> List&lt;<span class="code-object" style="color: #910091">String</span>&gt; getManagedClassNames() {
        <span class="code-keyword" style="color: #000091">return</span> Collections.unmodifiableList(classes);
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">boolean</span> excludeUnlistedClasses() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">false</span>;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> SharedCacheMode getSharedCacheMode() {
        <span class="code-keyword" style="color: #000091">return</span> SharedCacheMode.UNSPECIFIED;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> ValidationMode getValidationMode() {
        <span class="code-keyword" style="color: #000091">return</span> ValidationMode.AUTO;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> Properties getProperties() {
        Properties p = <span class="code-keyword" style="color: #000091">new</span> Properties();
        p.putAll(properties);
        <span class="code-keyword" style="color: #000091">return</span> p;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getPersistenceXMLSchemaVersion() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-quote" style="color: #009100">"2.2"</span>;
    }

    @Override
    <span class="code-comment" style="color: #808080">//@Nullable
</span>    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">ClassLoader</span> getClassLoader() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-object" style="color: #910091">Thread</span>.currentThread().getContextClassLoader();
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> void addTransformer(ClassTransformer transformer) {
    }

    @Override
    <span class="code-comment" style="color: #808080">//@Nullable
</span>    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">ClassLoader</span> getNewTempClassLoader() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">null</span>;
    }
}
</pre> 
                                                            </div>
                                                        </div> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Sample entity class:</p> 
                                                        <div class="code panel" style="border-style: solid;border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                                                            <div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;; border-bottom: 1px solid #cccccc; padding: 9px 12px">
                                                                <b>Fruit.java</b>
                                                            </div>
                                                            <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                                <pre class="code-java" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
<span class="code-keyword" style="color: #000091">package</span> com.example;

<span class="code-keyword" style="color: #000091">import</span> java.io.Serializable;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Entity;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.GeneratedValue;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.GenerationType;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Id;
<span class="code-keyword" style="color: #000091">import</span> javax.persistence.Table;

/**
 * @author Victor Williams Stafusa da Silva
 */
@Entity
@Table(name = <span class="code-quote" style="color: #009100">"fruits"</span>)
<span class="code-keyword" style="color: #000091">public</span> <span class="code-keyword" style="color: #000091">class </span>Fruit <span class="code-keyword" style="color: #000091">implements</span> Serializable {

    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">static</span> <span class="code-keyword" style="color: #000091">final</span> <span class="code-object" style="color: #910091">long</span> serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">Integer</span> id;

    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">String</span> name;

    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">String</span> color;

    <span class="code-keyword" style="color: #000091">public</span> Fruit() {}

    <span class="code-keyword" style="color: #000091">public</span> Fruit(<span class="code-object" style="color: #910091">String</span> name, <span class="code-object" style="color: #910091">String</span> color) {
        <span class="code-keyword" style="color: #000091">this</span>.name = name;
        <span class="code-keyword" style="color: #000091">this</span>.color = color;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getName() {
        <span class="code-keyword" style="color: #000091">return</span> name;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getColor() {
        <span class="code-keyword" style="color: #000091">return</span> color;
    }
}
</pre> 
                                                            </div>
                                                        </div> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Gradle script to build that:</p> 
                                                        <div class="code panel" style="border-style: solid;border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                                                            <div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;; border-bottom: 1px solid #cccccc; padding: 9px 12px">
                                                                <b>build.gradle</b>
                                                            </div>
                                                            <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                                <pre class="code-java" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
apply plugin: <span class="code-quote" style="color: #009100">'java'</span>
apply plugin: <span class="code-quote" style="color: #009100">'application'</span>

group = <span class="code-quote" style="color: #009100">'com.example'</span>

mainClassName = <span class="code-quote" style="color: #009100">'com.example.Hbug'</span>

repositories {
    jcenter()
}

dependencies {
    implementation <span class="code-quote" style="color: #009100">'org.hsqldb:hsqldb:2.5.0'</span>
    <span class="code-comment" style="color: #808080">//implementation <span class="code-quote" style="color: #009100; color: #808080">'org.hibernate:hibernate-core:5.4.13.Final'</span>
</span>    implementation <span class="code-quote" style="color: #009100">'org.hibernate.orm:hibernate-core:6.0.0.Alpha4'</span>
}
</pre> 
                                                            </div>
                                                        </div> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Run the code above and a `NullPointerException` will be throw (with Hibernate 6.0.0.Alpha4). However, if the gradle file is changed to use Hibernate 5.4.13 (uncomment that line and comment the one for 6.0.0.Alpha4), then the code works as expected.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Here is the output, including the stack trace:</p> 
                                                        <div class="code panel" style="border-style: solid;border-width: 1px;; border: 1px solid #cccccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #cccccc; -moz-border-radius: 3px; border-radius: 3px; margin: 9px 0">
                                                            <div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;; border-bottom: 1px solid #cccccc; padding: 9px 12px">
                                                                <b>output</b>
                                                            </div>
                                                            <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                                <pre class="code-java" style="margin: 10px 0 0; margin-top: 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
Apr 07, 2020 7:19:53 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [name: test-1]
Apr 07, 2020 7:19:54 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {6.0.0.Alpha4}
Apr 07, 2020 7:19:54 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager &lt;clinit&gt;
INFO: HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
Exception in thread <span class="code-quote" style="color: #009100">"main"</span> java.lang.NullPointerException
        at org.hibernate.boot.archive.scan.spi.ClassFileArchiveEntryHandler.toClassDescriptor(ClassFileArchiveEntryHandler.java:84)
        at org.hibernate.boot.archive.scan.spi.ClassFileArchiveEntryHandler.toClassDescriptor(ClassFileArchiveEntryHandler.java:67)
        at org.hibernate.boot.archive.scan.spi.ClassFileArchiveEntryHandler.handleEntry(ClassFileArchiveEntryHandler.java:53)
        at org.hibernate.boot.archive.internal.JarFileBasedArchiveDescriptor.visitArchive(JarFileBasedArchiveDescriptor.java:147)
        at org.hibernate.boot.archive.internal.JarProtocolArchiveDescriptor.visitArchive(JarProtocolArchiveDescriptor.java:59)
        at org.hibernate.boot.archive.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:40)
        at org.hibernate.boot.model.process.internal.ScanningCoordinator.coordinateScan(ScanningCoordinator.java:74)
        at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.prepare(MetadataBuildingProcess.java:97)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.&lt;init&gt;(EntityManagerFactoryBuilderImpl.java:243)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.&lt;init&gt;(EntityManagerFactoryBuilderImpl.java:169)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:32)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:89)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:166)
        at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141)
        at com.example.Hbug.main(Hbug.java:31)
</pre> 
                                                            </div>
                                                        </div> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">P.S.: I'm running and compiling this using Java 13.0.2.</p> </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-13938?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-13938#add-comment?atlOrigin=eyJpIjoiYzE1Y2Q3NTlkZTBiNDUzYWI3ZDQ3NjM3Y2Y2OWJmMGYiLCJwIjoiaiJ9" 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-8fa40d94-bc91-45cd-af12-5f3d1b99827c" 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-13938#add-comment?atlOrigin=eyJpIjoiYzE1Y2Q3NTlkZTBiNDUzYWI3ZDQ3NjM3Y2Y2OWJmMGYiLCJwIjoiaiJ9" 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">&nbsp;</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> 
                                    <td id="footer-pattern-mobile-separated-links" class="mobile-resize-text" width="100%" colspan="2" 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"> Get Jira notifications on your phone! Download the Jira Cloud app for <a href="https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail" style="color: #3b73af; text-decoration: none">Android</a> or <a href="https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8" style="color: #3b73af; text-decoration: none">iOS</a> 
                                        <hr> </td> 
                                </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">(v1001.0.0-SNAPSHOT#100124-<span title="c13ca0d2346d3575a7eef03463f11fc590402f53" data-commit-id="c13ca0d2346d3575a7eef03463f11fc590402f53}">sha1:c13ca0d</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; opacity: 0.150"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-95c2f94c-27a3-4fb3-8729-dd05acf3d0d8" alt="Atlassian logo" title="Atlassian logo" width="192" height="24" class="image_fix"> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
            </tbody>
        </table>   
    </body>
</html>