[seasar-dev:635] Re: [S2Dao][S2Dao.NET]ID属性の複数DBMS対応

Seto Azusa azusa @ fieldnotes.jp
2007年 1月 23日 (火) 19:35:52 JST


せとあずさ@亀です。

On Tue, 19 Dec 2006 23:56:12 +0900
Ryo Miyagi <rmiyax @ yahoo.co.jp> wrote:

> S2Dao.NET ID属性
>     [ID(IDType.IDENTITY, Seasar.Dao.KindOfDbms.MySQL)]
>     [ID(IDType.SEQUENCE, "myseq", Seasar.Dao.KindOfDbms.MySQL)]
>     public long MyId { .... }
> 
> S2Dao Tigerアノテーション
>     @Id(value = IdType.IDENTITY, dbms = "mysql")
>     @Id(value = IdType.SEQUENCE, sequenceName = "myseq", dbms = "oracle")
>     public long getMyId() { .... }
> 
> S2Dao 定数アノテーション
>     public static final String id_mysql_ID = "identity";
>     public static final String id_oracle_ID = "sequence, sequenceName=myseq";
>     public long getMyId() { .... }

JIRAにも書きましたが、定数アノテーションはこれでいいのですが、

S2Dao Tigerアノテーションは
----
     @Identiry(dbms = "mysql")
     @Sequence(sequenceName = "myseq", dbms = "oracle")
     @Id(value = IdType.IDENTITY)
     public long getMyId() { .... }
----

のようになるかと考えています。

> また、S2Dao TigerアノテーションのSQLアノテーションは、
> 複数DBMSの切り替えに未対応のようです。
> 何か理由があったのでしょうか?

私も事情を把握しているわけではないですが、

----
@Sql(query="〜", dbms="oracle")
@Sql(query="〜", dbms="mysql")
public List<Emp> selectAll() { .... }
----

のような書き方が(たぶん)できないからではないかと思われます。
# 言語仕様は調べてませんが。


-- 
せとあずさ
azusa @ fieldnotes.jp
http://www.fieldnotes.jp/d/



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