Gracias por la ayuda, estoy empezando y es lo que hay....

Ahora me da la siguiente excepción:

No se controló NHibernate.PropertyNotFoundException
  Message="Could not find a getter for property 'iddireccion' in class
'Clases.Comerciante'"
  Source="NHibernate"
  AccessorType="getter"
  PropertyName="iddireccion"
  StackTrace:
       en NHibernate.Properties.BasicPropertyAccessor.GetGetter(Type
type, String propertyName)
       en NHibernate.Mapping.Property.GetGetter(Type clazz)
       en
NHibernate.Tuple.Entity.PocoEntityTuplizer.BuildPropertyGetter
(Property mappedProperty, PersistentClass mappedEntity)
       en NHibernate.Tuple.Entity.AbstractEntityTuplizer..ctor
(EntityMetamodel entityMetamodel, PersistentClass mappingInfo)
       en NHibernate.Tuple.Entity.PocoEntityTuplizer..ctor
(EntityMetamodel entityMetamodel, PersistentClass mappedEntity)
       en
NHibernate.Tuple.Entity.EntityEntityModeToTuplizerMapping..ctor
(PersistentClass mappedEntity, EntityMetamodel em)
       en NHibernate.Tuple.Entity.EntityMetamodel..ctor
(PersistentClass persistentClass, ISessionFactoryImplementor
sessionFactory)
       en NHibernate.Persister.Entity.AbstractEntityPersister..ctor
(PersistentClass persistentClass, ICacheConcurrencyStrategy cache,
ISessionFactoryImplementor factory)
       en
NHibernate.Persister.Entity.JoinedSubclassEntityPersister..ctor
(PersistentClass persistentClass, ICacheConcurrencyStrategy cache,
ISessionFactoryImplementor factory, IMapping mapping)
       en NHibernate.Persister.PersisterFactory.CreateClassPersister
(PersistentClass model, ICacheConcurrencyStrategy cache,
ISessionFactoryImplementor factory, IMapping cfg)
       en NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg,
IMapping mapping, Settings settings, EventListeners listeners)
       en NHibernate.Cfg.Configuration.BuildSessionFactory()
       en Clases.SessionFactory.Init() en C:\Documents and Settings
\Abel\Mis documentos\Visual Studio 2008\Projects\Proyecto\Clases
\SessionFactory.cs:línea 31
       en Clases.SessionFactory.GetSessionFactory() en C:\Documents
and Settings\Abel\Mis documentos\Visual Studio 2008\Projects\Proyecto
\Clases\SessionFactory.cs:línea 37
       en Clases.SessionFactory.GetNewSession() en C:\Documents and
Settings\Abel\Mis documentos\Visual Studio 2008\Projects\Proyecto
\Clases\SessionFactory.cs:línea 43
       en Clases.UsuarioService.GetTodosUsuarios() en C:\Documents and
Settings\Abel\Mis documentos\Visual Studio 2008\Projects\Proyecto
\Clases\Servicios\UsuarioService.cs:línea 16
       en Aplicacion_escritorio.formInicial.bot_validar_usuario_Click
(Object sender, EventArgs e) en C:\Documents and Settings\Abel\Mis
documentos\Visual Studio 2008\Projects\Aplicacion_escritorio
\Aplicacion_escritorio\PantallaInicial.cs:línea 76
       en System.Windows.Forms.Control.OnClick(EventArgs e)
       en System.Windows.Forms.Button.OnClick(EventArgs e)
       en System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       en System.Windows.Forms.Control.WmMouseUp(Message& m,
MouseButtons button, Int32 clicks)
       en System.Windows.Forms.Control.WndProc(Message& m)
       en System.Windows.Forms.ButtonBase.WndProc(Message& m)
       en System.Windows.Forms.Button.WndProc(Message& m)
       en System.Windows.Forms.Control.ControlNativeWindow.OnMessage
(Message& m)
       en System.Windows.Forms.Control.ControlNativeWindow.WndProc
(Message& m)
       en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr
hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW
(MSG& msg)
       en
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop
(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
       en
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner
(Int32 reason, ApplicationContext context)
       en System.Windows.Forms.Application.ThreadContext.RunMessageLoop
(Int32 reason, ApplicationContext context)
       en System.Windows.Forms.Application.Run(Form mainForm)
       en Aplicacion_escritorio.Program.Main() en C:\Documents and
Settings\Abel\Mis documentos\Visual Studio 2008\Projects
\Aplicacion_escritorio\Aplicacion_escritorio\Program.cs:línea 18
       en System.AppDomain._nExecuteAssembly(Assembly assembly, String
[] args)
       en System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
       en
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       en System.Threading.ThreadHelper.ThreadStart_Context(Object
state)
       en System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
       en System.Threading.ThreadHelper.ThreadStart()
  InnerException:

Clase Comerciante:

   public class Comerciante : Usuario
    {
        #region atributos
        private Empresa empresa;
        #endregion
        #region propiedades
        public virtual Empresa Empresa
        {
            get
            {
                return empresa;
            }
            set
            {
                empresa = value;
            }
        }
        #endregion

-------------------------------------------------------

Clase Usuario

    public class Usuario
    {
        #region atributos
        private int idUsuario;
        private string nombre;
        private string apellidos;
        private DateTime fechaNac;
        private string nif;
        private string movil;
        private string correoElect;
        private DateTime fechaAlta;
        private Direccion direccion;
        private TipoUsuario tipo;
        private string nombreUsuario;
        private string contrasenna;
        #endregion
        #region propiedades
        public virtual int IdUsuario
        {
            get
            {
                return idUsuario;
            }
            private set
            {
                idUsuario = value;
            }
        }
        public virtual string NombreUsuario
        {
            get
            {
                return nombreUsuario;
            }
            set
            {
                nombreUsuario = value;
            }
        }
        public virtual string Contrasenna
        {
            get
            {
                return contrasenna;
            }
            set
            {
                contrasenna = value;
            }
        }
        public virtual string Apellidos
        {
            get
            {

                return apellidos;
            }
            set
            {
                if (value != "")
                    apellidos = value;
            }
        }
        public virtual string Nif
        {
            get
            {
                return nif;
            }
            set
            {
                nif = value;
            }
        }
        public virtual string CorreoElect
        {
            get
            {
                return correoElect;
            }
            set
            {
                string patron = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]
{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
                if (System.Text.RegularExpressions.Regex.IsMatch
(value, patron))
                    correoElect = value;
                else
                    System.Console.WriteLine("Error");
            }
        }

        public virtual DateTime FechaAlta
        {
            get
            {
                return fechaAlta;
            }
            set
            {
                DateTime t = new DateTime(value.Year, value.Month,
value.Day);
                fechaAlta = t;
            }
        }
        public virtual TipoUsuario Tipo
        {
            get
            {
                return tipo;
            }
            set
            {
                tipo = value;
            }
        }
        public virtual DateTime FechaNac
        {
            get
            {
                return fechaNac;
            }
            set
            {
                DateTime t = new DateTime(value.Year, value.Month,
value.Day);
                fechaNac = t;
            }
        }

        public virtual string Movil
        {
            get
            {
                return movil;
            }
            set
            {
                string patron = "\\d{9}";
                if (System.Text.RegularExpressions.Regex.IsMatch
(value, patron))
                    movil = value;
                else
                    System.Console.WriteLine("Error");
            }
        }

        public virtual string Nombre
        {
            get
            {
                return nombre;
            }
            set
            {
                if (value != "")
                    nombre = value;
            }
        }
        public virtual Direccion Direccion
        {
            get
            {
                return direccion;
            }
            set
            {
                direccion = value;
            }
        }
        #endregion

----------------------------------------------

Fichero de mapping

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping
  xmlns="urn:nhibernate-mapping-2.2" namespace="Clases"
assembly="Clases" schema="central">
  <class name="Usuario" table="Usuario" lazy="false">
     <id name="IdUsuario">
      <column name="idUsuario" unique="true">
      </column>
      <generator class="native">
        <param name="sequence">Usuario_idUsuario_seq</param>
      </generator>
    </id>
     <property name="Nombre" type="string">
      <column name="nombre" not-null="true"  sql-type="character
varying" />
    </property>
    <property name="Apellidos" type="string">
      <column name="apellidos" not-null="true" sql-type="character
varying" />
    </property>
    <property name="FechaNac" type="DateTime">
      <column name="fechaNac" not-null="true" sql-type="Date" />
    </property>
    <property name="Nif" type="string">
      <column name="nif" not-null="true" sql-type="character
varying"></column>
    </property>
    <property name="CorreoElect" type="string">
      <column name="correoElect" not-null="true" sql-type="character
varying"></column>
    </property>
    <property name="FechaAlta" type="DateTime">
      <column name="fechaAlta" not-null="true" sql-type="Date"></
column>
    </property>
    <property name="Tipo" type="TipoUsuario">
      <column name="tipo" sql-type="tipoUsuario" not-null="true"></
column>
    </property>
    <property name="Movil" type="string">
      <column name="movil" not-null="true" sql-type="character
varying"></column>
    </property>
    <property name="NombreUsuario" type="string">
      <column name="nombreUsuario" sql-type="character varying"></
column>
    </property>
    <property name="Contrasenna" type="string">
      <column name="contrasenna" sql-type="character varying"></
column>
    </property>
    <one-to-one name="iddireccion" class="Direccion"  foreign-
key="idDireccion"></one-to-one>

    <joined-subclass name="Comerciante" table="Comerciante">
      <key column="IdUsuario" foreign-key="Idusuario" not-null="true">
      </key>
      <one-to-one name="Empresa" class="Empresa"></one-to-one>
    </joined-subclass>

    <joined-subclass name="Cliente" table="Cliente">
      <key column="IdUsuario" foreign-key="IdUsuario" not-
null="true"></key>
      <one-to-one name="Tarjeta" class="TarjetaRFID" cascade="none"></
one-to-one>
      <set name="VentasRealizadas" inverse="true" lazy="true"
cascade="none">
        <key column="IdUsuario"></key>
        <one-to-many class="VentaPuntoVenta"/>
      </set>
    </joined-subclass>

    <joined-subclass name="AdministradorEspacio"
table="AdministradorEspacio">
      <key column="IdUsuario" foreign-key="IdUsuario" not-null="true">
      </key>
      <one-to-one name="Espacio" class="Espacio"></one-to-one>
    </joined-subclass>

    <joined-subclass name="AdministradorGeneral"
table="AdministradorGeneral">
      <key column="idUsuario" foreign-key="IdUsuario" not-null="true">
      </key>
    </joined-subclass>

  </class>
</hibernate-mapping>

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a