Les gens du cadre de Spring a tenté de trouver une solution à ce problème. Mais ils ont abandonné la tentative lorsqu'il est devenu évident qu'il n'y a aucun moyen de garantir que la solution fonctionnera avec tous les pilotes JDBC. En effet, la spécification JDBC ne garantit pas que les clés générées seront disponibles après une mise à jour du lot. Les pilotes JDBC sont libres d'implémenter cette fonctionnalité comme ils l'entendent. Dans certains cas, la base de données sous-jacente peut ne pas renvoyer les clés générées, ce qui rend impossible la prise en charge de cette fonctionnalité par le pilote.
Ainsi, même si vous travaillez directement avec JDBC, vous devrez vérifier si votre base de données et votre pilote JDBC mettent à disposition les clés générées.
Je me souviens avoir réussi à le faire avec le pilote JDBC de MySQL 5.0 au prix de quelques efforts, mais je n'ai jamais intégré cette solution dans notre application de production, car nous devions également prendre en charge des versions plus anciennes de MySQL.