2

我刚刚配置了我的 NHibValidator。我的 NHibernate 创建了数据库模式。当我将 MaxLenght="20" 设置为类的某个属性时,然后在数据库中,长度出现在数据库列中。我在 NHibValidator xml 文件中执行此操作。但问题是我有组件并且无法弄清楚如何实现这种行为。该组件在 Customer.hbm.xml 文件中正确配置。

编辑:嗯,我发现两年前 Hibernate Validator 用户也有同样的问题。 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 问题跟踪器。

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

更新:问题已解决。

于 2009-12-22T10:42:38.553 回答