[Seasar-user:8673] Re: [S2Dao] Bean のプロパティに基本型以外を使う方法

Nakata Kouji [E-MAIL ADDRESS DELETED]
2007年 6月 26日 (火) 13:51:11 JST


なかたです。
返信ありがとうございます。

07/06/26 に Koichi Kobayashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 小林 (koichik) です.
>
> Date:    Mon, 25 Jun 2007 23:11:31 +0900
> From:    "Nakata Kouji" <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:8662] Re: [S2Dao] Bean のプロパティに基本型以外を使う方法
>
> > 例えば今私のプロジェクトでいうと、権限レベルを int で管理しており、
> > 業務に割り当てられた権限レベルとユーザの権限レベルなどから計算によって、
> > 権限を持っているか判断しています。
> > 権限クラスを用意し、DBに格納された値を保持し、権限レベルに権限を有するかの
> > 判定メソッドを持っています。(判定機能を Authority クラスにカプセル化したい)
>
> S2Dao はほとんど使ったことがないのでちょっと怪しいですが,
>
> public static final String authorityAsInt_COLUMN = "AUTHORITY";
> public static final String NO_PERSISTENT_PROPS = "authority";
>
> private int authorityAsInt;
> public int getAuthorityAsInt() {
>  return authorityAsInt;
> }
> public void setAuthorityAsInt(int authorityAsInt) {
>  this.authorityAsInt = authorityAsInt;
> }
>
> public Authority getAuthority() {
>  return Authority.valueOf(authorityAsInt);
> }
> public void setAuthority(Authority authority) {
>  authorityAsInt = authority.intValue();
> }
>
> みたいにするのはどうでしょう?
> # うまくいくのかどうか分かりませんが.

やってみましたが、ダメでした。両方のアノテーションを指定してもダメです。
カラム名と同じプロパティ名があるとそちらが優先される?バグ?

> 具象状態と抽象状態を区別する必要があるのではないかと
> 思うんですよね.
> この場合は具象状態を int で表現していて,抽象状態は
> Authority で表されるということですよね.

はい。そうです。あくまでも DB の格納方式として int という型に落ちているだけで。



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