- - PR -
O/Rマッピング利用時のInsart and Update
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-23 10:56
いつもこの会議室を参考にさせて頂いております。
個人的にJavaの勉強をしており、サーブレットやStrutsなどの 勉強をしてきました。 O/RマッピングツールとDIを学習しようと思い、 Seasar 2を利用してサンプルアプリケーションを作っております。 O/Rマッピングツールを利用するにあたり、 疑問に思ったことがありましたので、投稿をさせて頂きます。 サンプルのプログラムの概要は、Webページより、ペット名を一括登録及び、 一括編集を行うといったサンプルのプログラムを作成しようと思っております。 登録も編集画面も、同じ入力画面とし、入力画面には テキストフィールドが 5つ並んでおり、そこにペット名を入力し、更新ボタンを押すと、テーブルに 反映されるといったプログラムを作ろうと考えております。 テキストボックス毎に、テーブルのフィールドを持たせるのは非常に 比較的簡単にできるのですが、テキストボックスが今後増えたり減ったり する可能性も考えて、ペットIDをシステム自動栽番の主キーとし、 ペットIDごとにペット名を持たせようと考えました。 実際にプログラミングを行おうと思って、ふと疑問に思ったのですが、 初回登録時は、Insartのみでよいと思うのですが、編集時には、 Updateを行わなければいけないと思います。 編集時にDelete & Insartを行えば、簡単かもしれませんが、 IDを自動栽番しているため、Delete & Insartが行われるごとに、 無駄に自動栽番が行われてしまいます。 今回のサンプルの場合は、自動栽番自体の意味はあまり無いですが、 今後のことも考えて、無駄な自動栽番を防ぐようなコーディングが できるようにと思っております。 O/Rマッピングツールを利用しない場合、Insart Or Updateにした場合、 Selectを行いデータ存在すれば、Update、しない場合、Insartといった ロジックが必要ですが、O/Rマッピングツールを利用した際に、 例えば、マッピング元となるクラスに主キーの値が入っていたら、 Update、入っていなかったら、Insartといったことを、 自動的にO/Rマッピングツールは行ってくれるのでしょうか。 お手数をおかけしますが、ご教授お願いいたします。 MySQL 5.x CREATE TABLE `pet` ( `ped_id` int(11) unsigned NOT NULL auto_increment , `pet_name` text NOT NULL , `detail` text NOT NULL , PRIMARY KEY (`yado_ped_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
|
投稿日時: 2007-05-23 12:58
ソースの組次第で可能
|
1