2

NHibValidator を構成しました。私のNHibernateはDBスキーマを作成します。MaxLenght="20" をクラスのいくつかのプロパティに設定すると、データベースで長さがデータベース列に表示されます。NHibValidator xml ファイルでこれを行っています。しかし、問題は、コンポーネントがあり、この動作を実現する方法がわからないことです。コンポーネントが Customer.hbm.xml ファイルで正しく構成されている。

編集: Hibernate Validator のユーザーが 2 年前に同じ問題を抱えていることがわかりました。 http://opensource.atlassian.com/projects/hibernate/browse/HV-25 これは NHibernate Validator の問題ですか、それとも修正されていますか。それが機能している場合は、方法を教えてください。

-----------------------------------------------------
public class Customer
{
public virtual string Name{get;set;}
public virtual Contact Contacts{ get; }
}
-----------------------------------------------------
public class Contact
{
public virtual string Address{get;set;}
}
-----------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<nhv-mapping xmlns="urn:nhibernate-validator-1.0"
                        namespace="MyNamespace"
                        assembly="MyAssembly">
<class name="Customer">

   <property name="Name">
     <length max="20"/>
   </property>

   <property name="Contacts">
         <notNull/>
         <valid/>
   </property>

</class>
</nhv-mapping>
-----------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<nhv-mapping xmlns="urn:nhibernate-validator-1.0"
                        namespace="MyNamespace"
                        assembly="MyAssembly">
<class name="Contact">

   <property name="Address">
         <length max="50"/>
         <valid/>
   </property>

</class>
</nhv-mapping>
-----------------------------------------------------
4

1 に答える 1

0

まあ、これはバグのはずです。これを NHibernate issue tracker に投稿しました。

https://nhibernate.jira.com/browse/NHV-82

更新: 問題は解決されました。

于 2009-12-22T10:42:38.553 に答える