[DAO-60] ID属性の複数DBMS対応([seasar-dev:626])( [Seasar-user:5797] ) Created: 2007-01-23  Updated: 2007-03-16  Resolved: 2007-03-16

Status: Resolved
Project: S2Dao
Component/s: s2dao, s2dao-tiger
Affects Version/s: 1.0.40
Fix Version/s: 1.0.41-RC1

Type: New Feature Priority: Major
Reporter: azusa Assignee: azusa
Resolution: Fixed Votes: 0
Labels: None

Attachments: File s2daoid.zip    

 Description   

IDアノテーションのサフィックスにRDBMSの名称を付与することによって、
RDBMSごとにIDアノテーションを切り替えられるようにしたいと思います。
例)
public static final String id_oracle_ID = "sequence, sequenceName=myseq";
public static final String id_hsql_ID = "identity";



 Comments   
Comment by azusa [ 2007-01-29 ]

Miyagiさんの実装も一部取り入れてコミットしました。
(r735,r736)

Comment by rmiyax [ 2007-01-27 ]

[seasar-s2dao-dev:124]
○Tigerアノテーション
@Ids({
@Id(value = IdType.IDENTITY, dbms = "mysql")
@Id(value = IdType.SEQUENCE, sequenceName = "myseq", dbms = "oracle")
})

@Id(value = IdType.IDENTITY)

実装済みとのことですが、参考までにMy実装版を添付いたします。
IDの検索順は以下のようになります。
1.@Ids内で指定した@Id(dbms指定あり)が実行中のdbmsと一致。
2.@Ids内で指定した@Id(dbms指定なし)
3.@Id

Comment by azusa [ 2007-01-23 ]

定数アノテーションは [seasar-dev:632] の通りでいいとして、
Tigerアノテーションはどうなるでしょうか?
現行のIdアノテーションはそのままで、他にアノテーション新設でしょうかね?
@Identity( dbms=

{ "defualtl", "oracle" }

)
@Sequence(value = IdType.SEQUENCE, sequenceName = "myseq", dbms=

{ "mysql", "PostgreSQL" }

)

Generated at Mon Dec 15 11:20:30 JST 2025 using Jira 10.6.1#10060001-sha1:a6461e220f274b29ced7ac9295492f2465fe5ef5.