-
Notifications
You must be signed in to change notification settings - Fork 32
Databases
Hyperjaxb3 is built to be database-independent. That is, mappings and annotations produced by Hyperjaxb3 are not database-specific and should be portable across different RDBMS. Basically, you can produce your mapping with Hyperjaxb3 and use your persistence unit on Oracle, PostgreSQL, HSQLDB, Derby and so on - theoreticaly on any database supported by your JPA provider.
Hyperjaxb3 builds run tests on HSQLDB and Derby databases in embedded mode. Apart from that there is a number of integration tests running on Oracle, PostgreSQL and MySQL.
I'd like to state it once again:
Icon Hyperjaxb3 is not database-specific, generated mappings and annotations should be even portable across databases (unless you do database-specific customizations). Hyperjaxb3 should run on any database supported by your JPA provider
Below are notes on our experience with Hyperjaxb3 and various databases (this is NOT a list of supported databases):
Database-independence is generally a good thing. You can go from HSQLDB in testing to Oracle 10g in production changing just few lines in configs. However, in certain cases it may be important to be able to customize the generated database schema for a specific database.
To address this requirement, Hyperjaxb3 offers a very powerful mechanism of customizations. Here's a simple example. The following customization specifies the database type of the PRICE
column:
<hj:basic>
<orm:column
name="PRICE"
column-definition="DECIMAL"/>
</hj:basic>