NH is a product and *.hbm.xml is its format.
NHV is another product and *.nhv.xml is its format.

Two formats, two separate files.

On Fri, Apr 30, 2010 at 9:47 AM, Anton <[email protected]> wrote:

> Hi everyone,
>
> I'm having a hard time configuring NHibernate Validator (NHV). For
> some reason it doesn't see any of my mapped classes. NHibernate is
> fully working, I changed all the mappings from *.nhv.xml to *.hbm.xml
> and it works perfectly. However I want to use the NHV because of the
> validation properties.
>
> This is my config file:
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
> <?xml version="1.0" encoding="utf-8" ?>
> <configuration>
>  <!-- Configuration Sections In This File -->
>  <configSections>
>
>    <!-- NHibernate Section -->
>    <section
>        name="hibernate-configuration"
>        type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"
>        />
>
>    <section
>        name="nhv-configuration"
>        type="NHibernate.Validator.Cfg.ConfigurationSectionHandler,
> NHibernate.Validator" />
>
>    <!-- Log4Net Section -->
>    <section
>        name="log4net"
>        type="log4net.Config.Log4NetConfigurationSectionHandler,
> log4net"
>        />
>
>  </configSections>
>
>  <nhv-configuration xmlns='urn:nhv-configuration-1.0'>
>    <property name='apply_to_ddl'>true</property>
>    <property name='autoregister_listeners'>true</property>
>    <property name='default_validator_mode'>UseExternal</property>
>    <property
>
> name='message_interpolator_class'>NHibernate.Validator.Interpolator.DefaultMessageInterpolator,
> NHibernate.Validator, Version=1.2.0.3001, Culture=neutral,
> PublicKeyToken=70154e18752585bd</property>
>    <mapping assembly="MBMS.DAL" />
>  </nhv-configuration>
>
>  <!-- NHibernate Configuration -->
>  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
>    <session-factory name="MBMS.DAL">
>      <property name="connection.provider">
>        NHibernate.Connection.DriverConnectionProvider
>      </property>
>      <property name="dialect">
>        NHibernate.Dialect.MsSql2005Dialect
>      </property>
>      <property name="connection.driver_class">
>        NHibernate.Driver.SqlClientDriver
>      </property>
>      <property name="connection.connection_string">
>        Data Source=(local)\SQLExpress;Initial Catalog=MBMS;Integrated
> Security=True;Pooling=False
>      </property>
>      <property name="proxyfactory.factory_class">
>        NHibernate.ByteCode.Castle.ProxyFactoryFactory,
> NHibernate.ByteCode.Castle
>      </property>
>      <mapping assembly="MBMS.DAL"/>
>    </session-factory>
>  </hibernate-configuration>
>
>  <!-- Log4Net Configuration -->
>  <log4net>
>
>    <!-- Define an output appender (where the logs can go) -->
>    <appender name="LogFileAppender"
> type="log4net.Appender.FileAppender, log4net">
>      <param name="File" value="log.txt" />
>      <param name="AppendToFile" value="true" />
>      <layout type="log4net.Layout.PatternLayout, log4net">
>        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]
> &lt;%X{auth}&gt; - %m%n" />
>      </layout>
>    </appender>
>
>    <!-- Note: Priority level can be ALL/DEBUG/INFO/WARN/ERROR/FATAL/
> OFF -->
>    <!-- Setup the root category, set the default priority level and
> add the appender(s) (where the logs will go) -->
>    <root>
>      <priority value="WARN" />
>      <appender-ref ref="LogFileAppender" />
>    </root>
>  </log4net>
>
>  <appSettings>
>    <add key="NUnitTestConfigValue" value="abc" />
>  </appSettings>
>
> </configuration>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>
> And this is the code I use to configure NHV:
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
>            Configuration cfg = new Configuration();
>            cfg.Configure();
>
>            ValidatorEngine engine = new ValidatorEngine();
>            engine.Configure();
>
>            // Create session factory from configuration object
>            sessionFactory = cfg.BuildSessionFactory();
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> Now when I check "cfg.ClassMappings.Count" it is always 0 when I use
> the *.nhv.xml mapping files. The *.hmb.xml files work perfectly!
>
>
>
> This is one mapping file:
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
> <?xml version="1.0"?>
> <nhv-mapping xmlns="urn:nhibernate-validator-1.0"
> namespace="MBMS.DAL.Types" assembly="MBMS.DAL">
>
>  <class name="Person" table="Persons" lazy="false">
>
>    <!-- Identity mapping -->
>    <id name="ID">
>      <column name="ID" />
>      <generator class="identity" />
>    </id>
>
>    <!-- Simple mappings -->
>    <property name="FirstName">
>      <not-empty/>
>      <not-null/>
>    </property>
>    <property name="MiddleName">
>      <not-null/>
>    </property>
>    <property name="LastName">
>      <not-empty/>
>      <not-null/>
>    </property>
>  </class>
>
> </nhv-mapping>
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> I have spend 4 hours already on just this issue and I'm running out of
> idea's. What I don't understand is this that you have 2 configurations
> right? The NHibernate configuration and the NHV configuration. If I
> configure NHibernate it searches for *.hbm.xml files while the NHV
> searches for *.nhv.xml files? So in that case
> "cfg.ClassMappings.Count" would never ever be greater than zero right?
> I don't get any errors when I compile and run my code but I also don't
> retrieve any Persons in my database (while there are many in it).
> Again I do retrieve every person when I change the *.nhv.xml files to
> *.hbm.xml. Every XML file is set to "Embedded Resource".
>
> I hope someone can help me out!
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
>


-- 
Fabio Maulo

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to