It is not possible to insert a specific value in a column defined as identity. This makes it very hard to migrate from other RDBMSs or to import data dumped from other databases.
For example, an autoincrement column in MySQL should be an identity column. The problem is that when the data is dumped from MySQL to a file, it generates inserts with values. These values cant be inserted in the Derby table.
Posible solutions: 1. being able to "generate by default as identity" 2. being able to disable the "identity" feature for a column 3. being able to generate a column as non identity and after data is populated, alter table to add the "identity" to the column.