This appendix describes the database platforms and application servers supported by EclipseLink.
This appendix includes the following sections:
EclipseLink supports any relational database that is compliant with SQL and has a compliant JDBC driver. EclipseLink has extended support for several database platforms. The extended support mainly consists of providing native sequencing support, schema creation, and certain database functions.
The databases in Table A-1 are supported. The Java classes are in the org.eclipse.persistence.platform.database
package and are described in Java API Reference for Oracle TopLink.
Table A-1 Supported Database Platforms
Database | Java Class | Features |
---|---|---|
Apache Derby |
|
Provides Derby-specific behavior. |
Attunity |
|
Platform class that works with Attunity's Connect JDBC driver. |
dBASE |
Provides dBASE-specific behavior, including:
|
|
Firebird |
|
Provides Firebird-specific behavior. |
H2 |
|
Provides H2-specific behavior. |
HyperSQL DataBase (HSQL) |
|
Provides HSQL-specific behavior. Supports HSQL functionality as of 1.8.1. Features include:
|
IBM Cloudscape |
|
Provides CloudScape DBMS-specific behavior. |
IBM DB2 Mainframe |
|
Provides DB2 Mainframe-specific behavior. This provides for some additional compatibility in certain DB2 versions on OS390. Features include:
|
IBM DB2 |
|
Provides DB2-specific behavior, including:
|
IBM Informix |
|
Provides Informix-specific behavior, including:
|
Microsoft Access |
|
Provides Microsoft Access-specific behavior. |
Microsoft SQLServer |
|
Provides Microsoft SQL Server-specific behavior, including:
|
MySQL |
|
Provides MySQL-specific behavior, including:
|
Oracle |
|
Provides Oracle Database-specific behavior, including:
|
Oracle JavaDB |
|
Allows the use of |
Oracle TimesTen |
|
Provides Oracle TimesTen database-specific behavior. |
Oracle TimesTen7 |
|
Provides Oracle TimesTen 7 database-specific behavior. |
PervasivePlatform |
|
Provides Pervasive PSQL-specific behavior. |
PointBase |
|
Provides PointBase database-specific behavior. |
PostgreSQL |
|
Provides PostgreSQL database-specific behavior, including:
See also PostgreSQL: |
SAP MaxDB |
|
Provides MaxDB database-specific behavior. |
SAP SyBase SQLAnywhere |
|
Provides SQL Anywhere-specific behavior. |
Sybase |
|
Provides Sybase-specific behavior, including:
|
Fujitsu Symfoware |
|
Provides Symfoware-specific behavior, including:
|
It also possible to extend EclipseLink to add extended support for additional platforms. There are also several user-contributed platforms in the EclipseLink incubator project. See Platform Incubator:
http://wiki.eclipse.org/EclipseLink/Development/Incubator/Platform
EclipseLink can be used with any Java EE application server that meets the software requirements through the EclipseLink API.
Table A-2 lists the application servers for which EclipseLink provides integration support. The classes listed in the table are concrete subclasses of the EclipseLink org.eclipse.persistence.platform.server.ServerPlatformBase
class, which is responsible for representing server-specific behavior. These classes determine the following behavior for the server:
Which external transaction controller to use
Whether to enable JTA (external transaction control)
How to register or unregister for runtime services (JMX or MBean)
Whether to enable runtime services
How to launch container Threads
For more information on the Java classes listed in the table, see Java API Reference for Oracle TopLink.
Table A-2 Supported Application Servers
Server Name | Java Classes |
---|---|
IBM WebSphere Application Server |
|
JBoss Application Server |
|
Oracle Containers for J2EE (OC4J) |
|
Oracle Sun Application Server |
|
Oracle WebLogic Server |
|
SAP NetWeaver Application Server |
|
EclipseLink MOXy is integrated into the GlassFish and WebLogic application servers as the JAXB provider. For more information, see the following links:
GlassFish Server: http://blog.bdoughan.com/2012/02/glassfish-312-is-full-of-moxy.html
WebLogic Server: http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html
EclipseLink JPA can be used with NoSQL databases. A Java class can be mapped to a NoSQL datasource using the @NoSQL
annotation or <no-sql>
XML element.
EclipseLink also provides JPA access to EIS (Enterprise Information Systems) such as legacy databases and systems (CICS, ADA, VSAM, IMS, MQ, AQ).
EclipseLink's NoSQL support allows complex hierarchical data to be mapped, including XML, indexed, and hierarchical mapped data such as JSON data. CRUD operations, embedded objects and collections, inheritance, and relationships are supported. A subset of JPQL and the Criteria API are supported, dependent on the NoSQL database's query support.
It is also possible to add support for other NoSQL data-sources by defining your own EISPlatform
subclass and JCA adapter. There are also several user-contributed platforms in the EclipseLink incubator project. See "Platform Incubator" at this URL:
http://wiki.eclipse.org/EclipseLink/Development/Incubator/Platform
Table A-3 lists the NoSQL and EIS data-sources that are supported by EclipseLink. For more information on the Java classes listed in the table, see Java API Reference for Oracle TopLink.
Table A-3 Supported NoSQL and EIS Platforms
Data-source | Java Class | Features |
---|---|---|
MongoDB |
|
Provides MongoDB support including:
|
Oracle NoSQL |
|
Provides Oracle NoSQL support including:
|
XML files |
|
Provides support for persistence to XML file including:
|
JMS |
|
Provides support for persistence through JMS messaging:
|
Oracle AQ |
|
Provides support for persistence through Oracle AQ messaging:
|