Java: JPA: specified twice エラー

JPAで
@OneToOne
@JoinColumn
を使って、JOINを張ったら、そのモデルを使って INSERT文を走らせる時に、specified twice っていうエラーが出るようになった。
SQLを見てみると、確かに同じColumnを二回指定している。

http://72.5.124.55/javaee/5/docs/api/javax/persistence/JoinColumn.html

ここを見ると、
@JoinColumn(insertable = false)
というのがあるので、それを指定したら解決。

updatable

public abstract boolean updatable
(Optional) Whether the column is included in SQL UPDATE statements generated by the persistence provider.
Default:
true

ってあるように、Modelの中身を更新すると、勝手に UPDATE文が走るので、それが嫌な人は false にしておこう。

このオプションは
@Column
にもあるので、別にJOIN限定の処理ではない。

JPAはアノテーションをモデルにいくつくっつけるかの設定次第だなぁ

Djangoも結局、キーワード引数でいくつオプション付けるか。
っていう部分は当然あるし。
まあ、そうなるよなーって思う。
そう思うから、Annotation で Model いじればなんとかなるんじゃね?って思って調べるきっかけになるし。

JPAでこれだけ色々やれるってなると、本気のHIBERNATEを使ってみたくなるなぁ
どんだけ凄いんだろう。