JDBC 3ドライバーを使用すると、レコードをテーブルに挿入して、列の自動生成された値をすぐに取得できます。この手法はActiveJDBCで使用されます。
テーブルの定義は次のとおりです。
CREATE TABLE users (id int(11) NOT NULL auto_increment PRIMARY KEY, first_name VARCHAR(56), last_name VARCHAR(56), email VARCHAR(56)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
これはH2とPostgreSQLで正常に機能しており、戻り値のタイプは整数です。ただし、MySQLでは型はLongですが、整数である必要があると思います。Mysqlでこの同じ行をクエリすると、「id」は整数として返されます。
「getGeneratedKeys()」がMysqlでjava.lang.Longを返す理由と、それを修正する方法を知っている人はいますか?