IBM Support

MustGather: Java Persistence API (JPA)

Troubleshooting


Problem

Collecting data for problems with the JPA component of the IBM WebSphere® Application Server.  Acquiring this MustGather information before calling IBM support will assist you in understanding the problem and save time analyzing the data.

Resolving The Problem

Tab navigation

If you have already contacted support, continue on to the component-specific MustGather information. Otherwise, click: MustGather: Read first for all WebSphere Application Server products.

Java Persistence API (JPA) specific MustGather information

Provide this information when initially opening a case or providing data:

  1. Which default JPA specification version does the application use?
    • For releases of WebSphere Application Server v9.0:
      • JPA 2.1 uses EclipseLink (org.eclipse.persistence.jpa.PersistenceProvider) as the default provider, please provide the output from the following script:
      • JPA 2.0 uses OpenJPA (org.apache.openjpa.persistence.PersistenceProviderImpl) as the default provider, please provide the output from the following script:
    • For releases of WebSphere Application Server v8.5.5:
      • JPA 2.0 uses OpenJPA (org.apache.openjpa.persistence.PersistenceProviderImpl) as the default provider, please provide the output from the following script:
  2. Are you experiencing a regression in JPA functionality from a previous product service release? If yes, what was the previous version, and what is the new version you are upgrading to?
  3. Are you migrating from an earlier version of WebSphere? Are you migrating from OpenJPA to Eclipselink?
  4. Does your application use the default JPA provider binaries shipped with WebSphere or does your application use a JPA Provider Implementation that is sourced from a third party?  This includes Hibernate, as well as Eclipselink and Apache OpenJPA binaries that are not included with the product (that is, downloaded off the internet or compiled by the user)
        i. Note: If your application uses a third party JPA Persistence Provider, then your support is limited to the provision of the runtime environment (ClassLoaders and registering JPA Class Transformers) and Injection services (@PersistenceContext/@PersistenceUnit).
        ii. Bugs in third party JPA Persistence Providers implementations are not covered by the support contract, and you will need to reach out to the community or support service associated with that third party JPA Persistence Provider.
  5. Does the problem match an existing issue against the JPA provider?
  6. Does your application have jars containing javax.persistence classes bundled within it? Is your application's ClassLoader setting PARENT_FIRST or PARENT_LAST?
  7. How does your application obtain its EntityManagerFactory/EntityManager instances? Do you use Injection (@PersistenceContext or @PersistenceUnit) or are you using JSE Bootstrapping (calling javax.persistence.Persistence.createEntityManagerFactory())?
  8. Does your JPA application have the Level 2 Data Cache enabled?
  9. If you manage the lifecycle of the EntityManager instances used by your application (Application Managed Persistence), are you calling close() on the EntityManager before allowing them to be garbage collected?
  10. What database vendor and version is your JPA application interacting with? What version of JDBC driver classes are you using?
  11. If the product is WebSphere Liberty, are you willing to provide a Liberty Dump? If not because the dump gathers sensitive information (such as server.xml), all we really need is the dump introspector for JPA (introspections/JPARuntimeInspector.txt).
  12. Can you demonstrate the problem with a stand alone simple application? IBM WebSphere Support can provide you with a sample project which you can modify to demonstrate the problem.

Materials:

  • Please provide the following materials if possible:
    • A unit test that reproduces the problem. This is the single best thing you can provide us because it lets us reproduce the problem in a simple Eclipse Java workspace and run it through the debugger (this will greatly speed problem resolution).  Include instructions on how to install and run the unit test.
    • Or; a copy of your application. Providing your application (including source files) goes a long way to help understand how the application works and what it's trying to do. The entire application is preferable, but if this is not possible, then providing the application components involving JPA (persistence.xml, ORM XML files, JPA classes such as entity types, etc.) can be helpful.
  • Heap Dumps. If the problem is an Out of Memory issue, then heap dumps must be provided for analysis.
  • Collect the following trace.  Additional trace specs for other components (such as ClassLoader and RRA) may also be required, depending on what the nature of the problem is.  (Warning: Traces can include application data)
    • WAS using OpenJPA/WSJPAJPA=all:openjpa=all
    • WAS using Eclipselink (WAS v9+):  JPA=all:eclipselink=all
    • Please use the following instructions to configure trace:
    • Collect the files located in the following directories:
      • install_root/profiles/profile_name/logs/server_name
      • install_root/profiles/profile_name/logs/ffdc
  • For Liberty releases 18.0.0.4+


For a listing of all technotes, downloads, and educational materials specific to the Enterprise JavaBeans Container component, search the WebSphere Application Server support site.

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m50000000CdRdAAK","label":"JPA-Persistence manager-PMI->Persistence Manager"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.0;8.5.5","Edition":"Edition Independent","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
12 May 2020

UID

swg21200344