[DAO-8] [Seasar-user:3806] IDアノテーションがあると"_"を含むカラム名を自動解決できない Created: 2006-06-09  Updated: 2006-06-13  Resolved: 2006-06-13

Status: Resolved
Project: S2Dao
Component/s: None
Affects Version/s: 1.0.34
Fix Version/s: 1.0.35

Type: Bug Priority: Major
Reporter: manhole Assignee: manhole
Resolution: Fixed Votes: 0
Labels: None


 Description   

IDアノテーションの仕様について教えてください。

ドキュメントにはプロパティ名_IDとなっていますので、
下記のBeanのようにmemberId_IDとしてIDアノテーションを設定しました。

— テーブル —

CREATE TABLE hoge
(member_id INT PRYMARY KEY
,workout_id INT
);

— Bean —

public class Hoge {
    public static final String TABLE = "hoge";
    public static final String memberId_ID = "assigned";
    private int memberId;
    private int workoutId;
    ...
}

— Testメソッド —

public void testPrimarykey() {
    BeanMetaData bmd = createBeanMetaData(Hoge.class);
    assertEquals("primary key", "member_id", bmd.getPrimaryKey(0));
}

この場合、プライマリーキーのカラム名をmemberIdとしてしまうようです。
IDアノテーションを指定しない場合は正しくmember_idとなります。

IDアノテーションを memberId_ID = "assigned"
COLUMNアノテーションを memberId_COLUMN = "member_id"
とした場合は、正しくmember_idとなります。

上記の場合、IDアノテーションを使用しなくても良いのですが、
少し気になったのでメール致しました。
私の認識が間違えていましたら申し訳ありません。

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



 Comments   
Comment by manhole [ 2006-06-13 ]

理由を補足しておきます。(MLから転記)

列名に"_"を含む場合は"_"を除いた名前でBeanのプロパティ名とマッチングしているのですが、IDアノテーションがある場合にそのロジックを通っていなかったことが原因でした。

Comment by manhole [ 2006-06-10 ]

1.0系の方は修正しました。1.0.35が解決済みのリリースになります。

Generated at Tue Apr 15 17:31:15 JST 2025 using Jira 10.5.0#10050000-sha1:9d9d098bb7b67e8dba8da380ba9c3900d82ac3cf.