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 > > > > > >