It sounds to me like you are corrupting your model and introducing
ambiguity. Using Strings for Dates and Integers is a bad idea. We've
successfully dealt with those issues without corrupting our model.
That is the purpose of the ActionForm. It is a point in which you need
to convert your user input to your model. I think you are shortcutting
here and will regret it later on. This is not a good practice.

Brandon

On 5/5/05, Darek Dober <[EMAIL PROTECTED]> wrote:
> Registration my own implementation of converter is not a good choice,
> because I want to treat only particular columns in that way, and converter
> would treat
> all integer types in the same way (I could be wrong:)
> 
> Nest my real bean is the best solution to make that "clean", however I
> decided to solve this problem on database side.
> 
> If you notice, you would have the same problem with dates. If you want to
> validate them, and keep invalid data to correct them, you have to keep them
> as String ( I also could be wrong here:)
> 
> The easiest and most painless method for me, was to use database functions:
> For example:
> In postgresql you can use function TO_DATE(), or just use expression like
> this: #deptId:INTEGER#::integer, which shows the clue to convert type on
> database side:
> 
> SELECT '123'::integer, convert number 123 to integer type.
> 
> In Oracle there are also functions like this: TO_DATE, TO_NUMBER, and so on.
> 
> That's the way I did it
> 
> Darek Dober
> 
> 
> ----- Original Message -----
> From: "Lieven De Keyzer" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, May 05, 2005 3:14 PM
> Subject: Re: re: struts vs ibatis - Integer type
> 
> > Where you able to use this advice? I'm kind of in same situation and
> wanted
> > to know if you could solve it this way.
> >
> > >The only way to make that "clean" is to push the translation effort
> > >into your ActionForm and nest your real beans in the ActionForm. you
> > >would then have a String value that you convert and set into your
> > >nested bean. The other option is to write a different BeanUtils
> > >Converter implementation for numerics and register it
> >
> >(http://jakarta.apache.org/commons/beanutils/api/org/apache/commons/beanuti
> ls/ConvertUtils.html#register(org.apache.commons.beanutils.Converter,%20java
> .lang.Class).
> > >
> > >I would personally avoid cluttering up your domain bean with faux
> > >setters and getters.
> > >
> > >Brandon
> > >
> > >>On 5/2/05, Darek Dober <[EMAIL PROTECTED]> wrote:
> > >>  Hi,   I hava a table  'users' with column dept_id (id of department in
> > >>departments
> > >table)
> > >>  This column is optional. That means the operator doesn't have to
> assign
> > >>inserted user to any department.   If I have bean:   public class
> UserBean
> > >>{     Integer departmentId;      .... }   struts will make automatic
> > >>conversion of type. So departmentId will be set
> > >>to 0, if I don't set any of department. That's a cheat, because,  I
> don't
> > >>want to to have a department with id equals to 0, it should be NULL.
> On
> > >>the other hand, when I implement departmentId as String, struts act
> > >>correctly. But while inserting record to the database, I get an error
> sth
> > >>like this: database column dept_id is type of bigint, inserted value is
> > >>type of
> > >>varchar.   I have the solution: departmentId is type of String, but for
> > >>ibatis I have
> > >>the other metod getDepartmentIdAsInteger which return Integer or null if
> > >>value is empty. It works, but i don't like this.   Is there any cleaner
> > >>solution for this. I looked into jpetstore, but there
> > >>were columns of type varchar. Rest of them was mendatory. I cannot use
> > >>columns of type varchar as foreign keys.   Usage: .... VALUES(
> > >>      #departmentId:INTEGER#,
> > >>....   doesn't help if departmentId is String   Any ideas?   Darek
> >
> >
> 
>

Reply via email to