B.11. MySQL
Prev | Appendix B. Supported Databases | Next

## B.11. MySQL

Example B.11. Example properties for MySQL

    javax.jdo.option.ConnectionDriverName: com.mysql.jdbc.Driver
    javax.jdo.option.ConnectionURL: jdbc:mysql://SERVER_NAME/DB_NAME

### B.11.1. Known issues with MySQL

- The default table types that MySQL uses do not support transactions, which will prevent Kodo from being able to roll back transactions. The table type of "`InnoDB`" should be used for any tabes that Kodo will be used.

- Using `isEmpty()` in queries made against an extent will fail because SQL sub-selects are not supported.

- Rollback due to database error or optimistic lock violation is not supported unless the table type is one of the MySQL transactional types. Explicit calls to `rollback()` before a transaction has been committed, however, are always supported.

- Floats and doubles may lose precision when stored in some data stores.

- When storing a field of type `java.math.BigDecimal`, some data stores will add extraneous trailing 0 characters, causing an equality mismatch between the field that is stored and the field that is retrieved.

- Some version of the MySQL JDBC driver have a bug that prevents Kodo from being able to interrogate the database for foreign keys. Version 3.0.14 (or higher) of the MySQL driver is required in order to get around this bug.

Prev | Up | Next
B.10. Microsoft FoxPro | Home | B.12. Oracle