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
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users