[Seasar-user:16065] Re: [S2Dao] UploadedFileをPostgreSQLのOIDにINSARTする方法について

木村 究道 [E-MAIL ADDRESS DELETED]
2008年 10月 20日 (月) 14:28:45 JST


中村様。

木村です。

ValueTypeを実装する方向でカスタマイズを進めておりましたが
対応していただて助かります。
ありがとうございます。


> SNAPSHOTを作成したのでよければご確認ください。

SNAPSHOT 確認しました。

iNSERT、SELECTは問題ありませんでしたが、UPDATEの場合、ファ
イルが追加されて、TABLEの方は、新しいOIDにUPDATEされていま
す。
このままでは、ファイルが残ってしまいますが、そのような仕様
なのでしょうか?

確かに、「ファイル削除したくてUPDATEしている場合」と、単に
「ファイル以外のデータをUPDATEしたい場合」の区別がつかない
ので、難しいのではないかと想像しておりますが、なんとか方法
はないでしょうか?

無理であれば、
 SELECT lo_unlink((SELECT test_data FROM test_table WHERE code= /*code*/))
を、DAOで発行して削除してからUPDATEするように作成しようかと
思っていますが、他に良い方法はないでしょうか?

よろしくお願い致します。

                          以 上

Toshihiro Nakamura さんは書きました:
> 中村(taedium)です。
> 
>> 申し訳ありませんが、解決方法はありませんでしょうか?
> 
> PostgreSQLのbyte[]をOID型にマッピングする件ですが
> S2Daoの次のバージョンで対応したいと思います。
> 
> 
> http://maven.seasar.org/maven2-snapshot/org/seasar/dao/s2-dao/1.0.49-SNAPSHOT/s2-dao-1.0.49-20081019.125052-6.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/dao/s2-dao-tiger/1.0.49-SNAPSHOT/s2-dao-tiger-1.0.49-20081019.125315-5.jar
> 
> 利用方法は、以下のとおりです。
> 次の記述をdiconファイルに記述し、
> 
>   <component name="blobType"> 
>       @[E-MAIL ADDRESS DELETED]
>   </component>
> 
> 上記設定のコンポーネント名を指定した
> ValueTypeアノテーションをBeanのプロパティに付与します。
> 
>   @ValueType("blobType")
>   private byte[] test_data;
> 
> これで、INSERTもSELECTもできるようになります。

-- 
-----------------------------------------------------
 十八ソフトウェア株式会社
 システム開発部 アプリケーション開発課  木村 究道
 〒850-0861 長崎市江戸町6-5江戸町センタービル6F
 TEL:095-824-0018  FAX:095-827-8754
 E-mail: [E-MAIL ADDRESS DELETED]
-----------------------------------------------------



Seasar-user メーリングリストの案内