Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1460

Fix scope visibility of orm.xml when it is packaged in both ear file and war file

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0-M3, 2.0.0-beta
    • 2.0.0-beta2
    • jpa
    • None
    • Patch Available

    Description

      Per JPA 2.0 spec, section 8.2.2:
      An EJB-JAR, WAR, application client jar, or EAR can define a persistence unit. When referencing a persistence unit using the unitName annotation element or persistence-unit-name deployment descriptor element, the visibility scope of the persistence unit is determined by its point of definition:

      (1) A persistence unit that is defined at the level of an EJB-JAR, WAR, or application client jar is scoped to that EJB-JAR, WAR, or application jar respectively and is visible to the components defined in that jar or war.

      (2) A persistence unit that is defined at the level of the EAR is generally visible to all components in the application. However, if a persistence unit of the same name is defined by an EJB-JAR, WAR, or application jar file within the EAR, the persistence unit of that name defined at EAR level will not be visible to the components defined by that EJB-JAR, WAR, or application jar file unless the persistence unit reference uses the persistence unit name # syntax to specify a path name to disambiguate the reference. When the # syntax is used, the path name is relative to the referencing application component jar file. For example, the syntax ../lib/persistenceUnitRoot. jar#myPersistenceUnit refers to a persistence unit whose name, as specified in the name element of the persistence.xml file, is myPersistenceUnit and for which the relative path name of the root of the persistence unit is ../lib/persistenceUnitRoot. jar. The # syntax may be used with both the unitName annotation element
      or persistence-unit-name deployment descriptor element to reference a persistence unit defined at EAR level.

      Attachments

        1. OPENJPA-1460.patch
          5 kB
          Fay Wang
        2. OPENJPA-1460-1.patch
          5 kB
          Fay Wang
        3. OPENJPA-1460-2.patch
          9 kB
          Fay Wang
        4. OPENJPA-1460-3.patch
          9 kB
          Fay Wang
        5. OPENJPA-1460-4.patch
          9 kB
          Donald Woods
        6. OPENJPA-1460-5.patch
          9 kB
          Fay Wang

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            faywang Fay Wang
            faywang Fay Wang
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment