[jboss-jira] [JBoss JIRA] (AS7-5062) PersistenceUnitRootURL for JPA providers may not be spec compliant

Craig Ringer (JIRA) jira-events at lists.jboss.org
Sat Jun 23 10:09:12 EDT 2012


Craig Ringer created AS7-5062:
---------------------------------

             Summary: PersistenceUnitRootURL for JPA providers may not be spec compliant
                 Key: AS7-5062
                 URL: https://issues.jboss.org/browse/AS7-5062
             Project: Application Server 7
          Issue Type: Bug
          Components: JPA / Hibernate
    Affects Versions: 7.1.1.Final
         Environment: $ java -version
java version "1.7.0_03-icedtea"
OpenJDK Runtime Environment (fedora-2.2.1.fc17.8-x86_64)
OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode)
$ uname -a
Linux ayaki.localdomain 3.4.2-4.fc17.x86_64 #1 SMP Thu Jun 14 22:22:05 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

            Reporter: Craig Ringer
            Assignee: Scott Marlow


Discussion on the EclipseLink bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=383200 ("On JBoss AS 7, EclipseLink doesn't find entity classes unless they're explicitly listed in persistence.xml") suggests that JBoss AS 7 may not be providing a spec-compliant PersistenceUnitRootURL or contents.

EclipseLink can't scan the contents of a deployment for @Entity annotated classes, so it doesn't find any entities unless they're explicitly named in persistence.xml .

http://docs.oracle.com/javaee/6/api/javax/persistence/spi/PersistenceUnitInfo.html#getPersistenceUnitRootUrl() states:

{quote}
java.net.URL getPersistenceUnitRootUrl()

Returns the URL for the jar file or directory that is the root of the persistence unit. (If the persistence unit is rooted in the WEB-INF/classes directory, this will be the URL of that directory.) The URL will either be a file: URL referring to a jar file or referring to a directory that contains an exploded jar file, or some other URL from which an InputStream in jar format can be obtained.

*Returns*: a URL referring to a jar file or directory
{quote}

... and that's what EclipseLink expects. However, for EclipseLink class scanning to function correctly an adapter class must be provided, such as the classes provided here:

https://community.jboss.org/wiki/HowToUseEclipseLinkWithAS7

to integrate EclipseLink with JBoss's VFS. 

It may be worth investigating why this is necessary and whether the current behavior is standards compliant.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list