|
|
|
Supported databases(a page in progress...)
- Commercial
- Do NOT use jdbc drivers before version 9.2.0.3 for Oracle 9. These drivers contains a round-off bug which strips of any number with decimals (e.g. from 666.67 to 666.0) - NASTY ;)
- Oracle JDBC drivers have extremely bad support for large text or binary columns
- At least some versions of the Oracle 9i driver handle JDBC timestamps extremely badly - do not use timestamps for optimistic locking
- Commercial
- On iSeries use V5R1 or later, which allow key mappings containing file.name
- Remove schema reference from mappings for *LIBL on iSeries
- Open source based on commercial Interbase
- Offer many ANSI SQL-92 features that runs on Linux, Windows, and a variety of Unix platforms
- Excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.
- jdbc type 4 driver with excellent support
- DDL statements cannot be executed when there is more than one open JDBC connection
- PreparedStatement caching is impossible
- Opensource
- No subselects in "current" versions (subselect support is currently in beta)
- Consider setting schema name to database name however with Hibernate 2.1B4 and later you must override the MySql dialect schema seperation character to dot rather than underscore
- Opensource
- Support for special types (point/polygon/etc) here
- Commercial
- OpenSource (jTDS: also used with Microsoft SQL Server)
- Opensource
- Pure java
- No subselects
- Has issues with case-sensitivity and missing quotes in generated SQL
- only integers can be used for "native" generator in current versions (this is fixed in HSQL CVS)
- Commercial
- OpenSource (jTDS: also used with Sybase)
- Use some driver other than Microsoft's own!
If you use the MS JDBC driver, these are the issues you will face:
- Blobs and Clobs are not supported
- Problems with Dates: MSSQL when you search for dates wants to search by seconds and milliseconds. When you convert a SQL date to a java Timestamp object, and then back again, you seem to lose the milliseconds. The seconds match, but not the milliseconds. So don't use date's as part of a composite key/primary key.
- Reportedly, the Microsoft JDBC driver is quite slow
- Need to add sendStringParametersAsUnicode=false to JDBC URL to increase performance
- must always use selectMethod=cursor
- No info, not tested by Hibernate crew :)
|
|
|
|