Hi List

 I'm [[email protected]].
 I debug the source of HibernateForm.
 Maybe it is a bug.
 Apache click version: Version 2.1.0-RC1

 ****************************************
385. protected void applyMetaData() {
        if (metaDataApplied) {
            return;
        }

        try {
            Class valueClass =
ClickUtils.classForName(classField.getValue());

            String classname = getClassname(valueClass);

            ClassMetadata metadata =
getSessionFactory().getClassMetadata(classname);

            String[] propertyNames = metadata.getPropertyNames();

            boolean[] propertyNullability =
metadata.getPropertyNullability();

            for (int i = 0; i < propertyNames.length; i++) {
                Field field = getField(propertyNames[i]);
                if (field != null) {
404.                   field.setRequired(propertyNullability[i]);  //This
isn't correct.
                }
            }

        } catch (ClassNotFoundException cnfe) {
            throw new RuntimeException(cnfe);
        }

        metaDataApplied = true;
    }
 ****************************************
  The row of number 404 "field.setRequired(propertyNullability[i]);" isn't
correct.
  The result of propertyNullability[i] is that:
  when I set "  <column name="name" length="200" not-null="true" />" .
  Then propertyNullability will return false.
  Means the field can't be null, So field.setRequired(propertyNullability[i]
== false),
  or field.setRequired( !propertyNullability[i] ). Not
field.setRequired(propertyNullability[i]).

  I find click integrate with hibernate while simplely. But the other ORM
Cayenne have many API to use.
  May the next realse will more deeply integrate with hibernate?

  Best Regards
  Wateray




>
Hi,

>
The idea behind HibernateForm is to automate some common functionality
>
such as validation. In this case HibernateForm will automatically set
>
the field readonly value based on whether the database column allow a
>
null value or not. I guess HibernateForm is overriding the value you set
>
explicitly.

>
Perhaps HibernateForm should only set the Field readonly flag if the
>
value is false?

>
kind regards

>
bob

>
[email protected] wrote:
> Hello List
>  When I use HibernateForm, I find something is not correct.
>  Eg.  TextField  name = new TextField("name", "name", true);
>  The required flag doesn't work.
>  And form.isValid() don't validate.
>  Is this a bug?
>
>
>

Reply via email to