[Seasar-user:15818] Re: S2Dao における entity クラスの配列プロパティ
あきら
[E-MAIL ADDRESS DELETED]
2008年 9月 24日 (水) 11:05:03 JST
あきらです
気になったので調べてみました
> 単純なデータ型(int double String...)だとうまくいきますが、整数型配列型(つまり
> 配列型,int[],floa[]...)でフィールドを定義するとエラーとなります。
PostgreSQLの配列ですね。。。
いまいちマイナーなのでこだわりがなければ他のテーブルに正規化?したほうが
幸せになれることが多いようです
有効に利用できる場合も多いんですけれどね
> 過去ログも参照しましたが未だ解決していません。
> どなたか、ご助言いただけると助かります。
intの配列であれ、戻り値は {1,2,4}などの文字列で帰ってきます
S2dao的には文字列で処理すれば問題ないようでした
それだとあんまりなので、無理やり分割したのがしたのサンプル
です。
データを取り出すところしか試していないですが、こんな感じ
ではどうでしょうか?
文字列の配列だと、分割のところがかなーーーり面倒になり
そうですが。。。
よく見たら setData2 がない。。。
コンセプトモデルってことで、細かい検証してから使って
もらえればと思います。
もう少ししたらきっと、オフィシャルの人から回答が入る
んじゃないかな?
---------------------------------------------------------------------------------------
package pgsql.entity;
public class Test {
private Integer id;
private String data;
public Integer[] data2;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
String tempData = data.replace("{", "").replace("}", "");
String[] strs = tempData.split(",");
this.data2 = new Integer[ strs.length ];
for( int i = 0 ; i < strs.length ; i++ ) {
this.data2[i] = Integer.parseInt(strs[i]);
}
}
public Integer[] getData2() {
return data2;
}
}
---------------------------------------------------------------------------------------
あきら
Seasar-user メーリングリストの案内