[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 メーリングリストの案内