PKのないinsert

PKのないinsertとは?

主キー(PK制約)の存在しないテーブルにおける insert 処理のことで、DBFluteでは PK のないテーブルでは、Behavior に insert, update などの更新系メソッドが生成されません。その場合、更新処理は外だしSQLで実装することになります。

DBFluteでは、基本的にはテーブルには必ずPK制約を付けることが推奨されています。 もし、PKの役割をするカラムは存在していてPK制約がないだけの場合は additionalPrimaryKey をご利用下さい。

どうしてもPKに相当するカラムが存在しない場合は、insert のみ Behavior で実行(PKのないinsert)ができるようなオプションがあります。

PKのないinsertのオプション

littleAdjustmentMap.dfprop の isAvailableNonPrimaryKeyWritable を有効にすることで、PKのないテーブルでも Behavior に insert() が生成されます。

ただし、デフォルト制約には対応していません。(全てのカラムが insert 文に列挙されます)

dbflute-multipledb-seasar-example にて、Example があります。

DBFlute Example - 特定環境