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
-~----------~----~----~----~------~----~------~--~---