Blog

JPA2 の @GeneratedValue について

JPA2 ではすべての entity に id がふられている。その id の採番方式は選択することができる。

@GeneratedValue(strategy=GeneratedValue.IDENTITY)

MySQL の AUTO_INCREMENT を使いたいならこれを使えばいい。 我々は MySQL の AUTO_INCREMENT による採番を行いたいので、通常この方式をとっておけばいい。

そのほかのものについては http://www.developerscrappad.com/408/java/java-ee/ejb3-jpa-3-ways-of-generating-primary-key-through-generatedvalue/ このブログが詳しい。 mysql 以外のデータベースでも動くようにしたいとか、そういう場合には他の GeneratedType を採用する必要があるが、現状我々の業務では必要がなさそうだ。