Aaron, That sounds like positive news. If you have a moment I have 2 questions:
1) In the interim what option would you pick... using a constant or manual sync.... 2) I'm sure I can read up on JSR-303 and everything but can you tell me in a nutshell how it will solve this particular problem... nothing detailed... Thanks Again for authoring (IIRC) Stripersist! We plan on leveraging it and pushing it to its limits!!! Regards, --Nikolaos Aaron Porter wrote: > Hi Nikolaos, > No, you're not missing anything. JSR-303 (validation) is on the list for > the next major version of Stripes. That will really simplify things as > Hibernate already supports JSR-303. When I get some time I plan on > working on that but it may be a little while because I haven't really > had any extra time lately. :-( > > Aaron > > > On 05/13/2010 11:43 PM, Nikolaos Giannopoulos wrote: > >> Hi, >> >> I'm integrating Stripersist w/ JPA, Hibernate and MySQL and have been >> working with some code from Frederic's great book. >> >> Assuming the following shortened class excerpts: >> >> @Entity >> public class Contact extends BaseModel { >> private String firstName; >> ... >> >> public class ContactFormActionBean { >> @ValidateNestedProperties( { >> @Validate(field = "firstName", maxlength = 25), >> ... >> @Override >> public void setContact(Contact contact) { >> super.setContact(contact); >> } >> >> The above logically results in a Contact table "firstName" column that >> is varchar(255) which is obviously not ideal and moreover will not be >> required as the field is never> than 25. >> >> Now to make the Contact table "firstName" column varchar(25) vs. the >> default varchar(255) I add the following @Column annotation and all is well: >> >> @Entity >> public class Contact extends BaseModel { >> @Column(length=25) >> private String firstName; >> ... >> >> Except now I have 2 values that I need to keep in sync PER field that is >> constrained (and typically a high percentage of String fields do not >> need to be 255 chars). >> >> So what to do about this to simplify the duplication issue i.e. the >> constraints at the Model and Controller? Well the obvious traditional >> coding choice is something like: >> >> @Entity >> public class Contact extends BaseModel { >> public static final int FIRST_NAME_LENGTH = 25; >> >> @Column(length=Contact.FIRST_NAME_LENGTH) >> ... >> private String firstName; >> ... >> >> public class ContactFormActionBean { >> @ValidateNestedProperties( { >> @Validate(field = "firstName", maxlength = >> Contact.FIRST_NAME_LENGTH), >> ... >> @Override >> public void setContact(Contact contact) { >> super.setContact(contact); >> } >> >> Now this keeps the values in sync but PER each 2 properties I want to >> keep in sync I am introducing 1 additional variable (constant) to >> configure. In some ways better but still feels lacking.... >> >> Is there an easier way to solve this issue such that it better leverages >> Stripes forte of convention over configuration? >> >> Perhaps I am missing something obvious? >> >> --Nikolaos >> >> >> ------------------------------------------------------------------------------ _______________________________________________ Stripes-users mailing list Stripes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-users