• ベストアンサー

WEBアプリでのデータクラスの定義について

お世話になります。 JSP+サーブレットのWEBアプリケーションで使うデータクラス(いわゆるBean)のプロパティ(フィールド)の型について教えてください。 例えば会員の情報を保持するためのBeanを作るとして、 private String name = ""; private String id = ""; private String password = ""; などのプロパティ(フィールド)と、そのセッターゲッターを実装すると思うのですが、HTMLパラメータは基本的に文字列ですので、数値や日付を保持したいときも private String height = ""; private String birthday = ""; とString型で定義しておいてDBに格納するときにそれぞれの型に変えるようにしておいた方が扱いがよいのでしょうか? それとも private int height = 0; private Date birthday = new Date(); というように、型どおりに定義するべきなのでしょうか? よろしくご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

どちらの方法もあり得ると思います。 私の場合の判断基準ですが、そのデータクラスに格納される値は必ずチェックされた値となるのでしょうか? チェックされていない値が入りうる場合(例えば、日付のフィールドに「AAAA」と入力されても、データクラスに格納して持ち回す必要が生じる場合)には、前者を選択しなければなりません。 逆に、上記のような状況が発生し得ない場合には後者の選択もあり得ますね。 あとは、ポリシーの問題ですのでどちらの選択肢もあり得るのですが、私でしたら前者を選択します。 (現在想定していない状況にも対応しやすくなるため) この辺りの考え方は、人それぞれかとも思いますが・・・

noname#21585
質問者

お礼

ご回答誠にありがとうございました。 やはりString型でとっておいた方が後々扱いやすいケースが多い、そしてまた、ポリシーや仕様などによりケースバイケースでもあるということですね。 大変参考になりました。

その他の回答 (1)

  • nimua
  • ベストアンサー率21% (8/38)
回答No.2

1の方の回答のようにどちらでも構わないとは思います。 個人的には元データで持っておきたいので、Date、intで保持したいと思っています。 後々、数値で計算するとか発生するかも知れないですし。 保持は元の型で保持し、ゲッターで変換するのもいいかなぁと思います。

noname#21585
質問者

お礼

遅くなりました。数値の場合、計算しなければならなくなるとは思うので、確かに元の型の方がいいですね。ありがとうございました。