Java Persistent Objects (JPOX) currently provides 2 primary "products". These are
JPOX Core (the base persistence implementation) and JPOX Enhancer (for byte-code enhancing
classes). The most common addons would be JPOX Java5 (where you want Java5 features, or JPA),
and JPOX DB4O (for persisting to DB4O datastores), but there are many many more.
We've designed JPOX to minimise the amount of dependencies on external software, but there are some
dependencies. These are defined below.
Both JPOX Core and JPOX Enhancer are written with the minimum runtime requirement of JDK 1.3
or above. In fact the AUID id generator uses a JDK 1.4 method so you will need JDK 1.4 if you want to use
that form of id generation.
JPOX Core (jpox-core.jar) provides the baseline for using JPOX.
JPOX Core is dependent on the following packages of software. Click on the name
to go to the home page for that software to download it. Please note however that JTA (javax.transaction),
and JDBC (javax.sql) are included with J2EE as standard, and are standard extensions to the JDK.
JDBC is included in JDK 1.4 so if using that or higher you will not need it.
| Package | Version | Description | Required? |
|---|
| JDO2 | 2.1 | Apache JDO2 API. | Yes |
| JTA | 1.x | Java transaction layer. Used for transaction handling. | Yes (but part of JDK1.4+) |
| JDBC | 2.x+ | Java database access layer. Used for communication with RDBMS datastores | Yes (but part of JDK1.4+) |
| log4j | 1.2.x+ | Apache Log4J Logging framework. | No. Use it or JDK1.4 logging |
JPOX RDBMS (jpox-rdbms.jar) provides persistence to RDBMS datastores for JPOX.
JPOX RDBMS is dependent on the following packages of software. Click on the name
to go to the home page for that software to download it.
Note that JDBC is included in JDK 1.4 so if using that or higher you will not need it.
| Package | Version | Description | Required? |
|---|
| jpox-core | 1.2.x | JPOX "core" (jpox-core.jar). Provides logging, localisation, and other framework
facilities for JPOX. | Yes |
| JDBC | 2.x+ | Java database access layer. Used for communication with RDBMS datastores | Yes (but part of JDK1.4+) |
JPOX DB4O (jpox-db4o.jar) provides persistence to the DB4O datastore for JPOX.
JPOX DB4O is dependent on the following packages of software.
Click on the name to go to the home page for that software to download it.
| Package | Version | Description | Required? |
|---|
| jpox-core | 1.2.x | JPOX "core" (jpox-core.jar). Provides logging, localisation, and other framework
facilities for JPOX. | Yes |
| DB4O | 5.5+ | DB4O Datastore | Yes |
JPOX Enhancer (jpox-enhancer.jar) provides the byte-code enhancer for JPOX.
JPOX Enhancer is dependent on the following packages of software.
Click on the name to go to the home page for that software to download it.
| Package | Version | Description | Required? |
|---|
| jpox-core | 1.2.x | JPOX "core" (jpox-core.jar). Provides logging, localisation, and other framework
facilities for JPOX. | Yes |
| JDO2 | 2.1 | Apache JDO2 API. | Yes |
| ASM | 3.0+ | ASM byte code manipulation framework. This is used to byte code enhance the classes. | If using ASM enhancer |
| BCEL | 5.1+ | Byte-Code Engineering Library. This is used to byte code enhance the classes. | If using BCEL enhancer |
| log4j | 1.2.x+ | Apache Log4J Logging framework. | No. Use it or JDK1.4 logging |
JPOX JCA (jpox-jca.rar) allows JPOX to be used as a JCA resource in a J2EE environment.
JPOX JCA is dependent on the following packages of software. Click on the name
to go to the home page for that software to download it. Please note however that JTA (javax.transaction),
JCA (javax.resource), JAAS (javax.security), and JDBC (javax.sql) are included with J2EE as standard, and
are standard extensions to the JDK. JAAS and JDBC are included in JDK 1.4 so if using that or higher you
will not need them.
| Package | Version | Description | Required? |
|---|
| JTA | 1.x | Java transaction layer. Used for transaction handling. | Yes (but part of JDK1.4+) |
| JDBC | 2.x+ | Java database access layer. Used for communication with RDBMS datastores | Yes (but part of JDK1.4+) |
| JCA | 1.x | Java connector layer. | If using J2EE |
| JAAS | 1.x | Java authentication layer. Used in handling security issues. | If using J2EE (part of JDK1.4+) |
JPOX Java5 (jpox-java5.jar) contains support for features requiring JDK1.5+, such as Enums,
annotations, and the JPA implementation.
JPOX Java5 is dependent on the following packages of software.
Click on the name to go to the home page for that software to download it.
| Package | Version | Description | Required? |
|---|
| jpox-core | 1.2.x | JPOX "core" (jpox-core.jar). Provides logging, localisation, and other framework
facilities for JPOX. | Yes |
| JPA1 | 1.0 | Sun Java Persistence API (JPA). | If using JPA |
JPOX DBCP (jpox-dbcp.jar) provides the capability to use DBCP connection pools with JPOX.
JPOX DBCP is dependent on the following packages of software.
Click on the name to go to the home page for that software to download it.
| Package | Version | Description | Required? |
|---|
| commons-dbcp | 1.1+ | Apache Commons DBCP. Connection Pooling | Yes |
| commons-pool | 1.1+ | Apache Commons Pool. | Yes |
| commons-collections | 3.0+ | Apache Commons Collections | Yes |
JPOX C3P0 (jpox-c3p0.jar) provides the capability to use C3P0 connection pools with JPOX.
JPOX-C3P0 is dependent on the following packages of software.
Click on the name to go to the home page for that software to download it.
| Package | Version | Description | Required? |
|---|
| c3p0 | 0.9.0+ | C3P0 Connection Pooling | Yes |
JPOX Proxool (jpox-proxool.jar) provides the capability to use Proxool connection pools
with JPOX.
JPOX Proxool is dependent on the following packages of software.
Click on the name to go to the home page for that software to download it.
| Package | Version | Description | Required? |
|---|
| proxool | | Proxool Connection Pooling | Yes |
JPOX-Spatial (jpox-spatial.jar) is dependent on a different set of software packages for
each supported mapping scenario. Please refer to the Spatial Guide for more
information about these scenarios. All scenarios need JPOX Core, see above for details.
jgeom2mysql
| Package | Version | Description |
|---|
| sdoapi | - | Oracle SDO API, contains the JGeometry class. |
| mysql-connector-java | - | MySQL JDBC driver. |
jgeom2oracle
| Package | Version | Description |
|---|
| sdoapi | - | Oracle SDO API, contains the JGeometry class . |
| classes12/ojdbc14 | - | Oracle JDBC, use classes12 for Java 1.3 and ojdbc14 for all later versions. |
jts2mysql
| Package | Version | Description |
|---|
| JTS | 1.6+ | Java Topology Suite (JTS) |
| mysql-connector-java | - | MySQL JDBC driver. |
jts2oracle
| Package | Version | Description |
|---|
| JTS | 1.6+ | Java Topology Suite (JTS) |
| JTSIO | 1.6+ | IO package for JTS |
| classes12/ojdbc14 | - | Oracle JDBC, use classes12 for Java 1.3 and ojdbc14 for all later versions. |
jts2postgis
| Package | Version | Description |
|---|
| JTS | 1.6+ | Java Topology Suite (JTS) |
| PostGIS-JTS | 1.1.6+ | PostGIS JDBC driver extension for JTS types. For correct transformation of 3d-geometries you need a version newer than 1.2.0
(at the moment only available as source from SVN) |
| PostgreSQL | - | PostgreSQL-JDBC driver |
pg2mysql
| Package | Version | Description |
|---|
| PostGIS | 1.1.6+ | PostGIS JDBC driver and PostGIS geometries |
| mysql-connector-java | - | MySQL JDBC driver. |
pg2postgis
| Package | Version | Description |
|---|
| PostGIS | 1.1.6+ | PostGIS JDBC driver and PostGIS geometries |
| PostgreSQL | - | PostgreSQL-JDBC driver |