[
https://issues.apache.org/jira/browse/OPENJPA-736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12721393#action_12721393
]
Milosz Tylenda commented on OPENJPA-736:
----------------------------------------
For information, Oracle's driver also supports the getGeneratedKeys although
Oracle database does not support auto-increment columns. The generated keys
retrieval seems to play nicely with our
OracleDictionary.useTriggersForAutoAssign feature for emulating auto-increment
columns.
> Combine insert and select SQL together for generated Id
> strategy=GenerationType.IDENTITY
> -----------------------------------------------------------------------------------------
>
> Key: OPENJPA-736
> URL: https://issues.apache.org/jira/browse/OPENJPA-736
> Project: OpenJPA
> Issue Type: Improvement
> Affects Versions: 1.3.0
> Reporter: Fay Wang
> Assignee: Milosz Tylenda
> Fix For: 1.3.0, 2.0.0-M2
>
> Attachments: openjpa-736.patch, supportsGetGeneratedKeys.patch
>
>
> Currently if the strategy of the generated id is GenerationType.IDENTITY,
> when an entity object is created, openjpa will generate two SQL statements.
> The following is an example running on DB2:
> (1) INSERT INTO EntityA (col1, col2, col3, version) VALUES (?, ?, ?, ?)
> [params=(int) 1, (int) 1, (int) 1, (int) 1]
> (2) SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1
> A performance improvement is to take advantage of the "select from final
> table" feature in DB2 to combine the insert and select statement into a
> single SQL statement as shown below:
> SELECT id FROM FINAL TABLE (INSERT INTO EntityA (col1, col2, col3, version)
> VALUES (?, ?, ?, ?) )
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.