Gracias Dario por tu respuesta, y si, éste es el código. Lo copié y
pegué desde el IDE. A mí también me llamó la atención ésto de hbm2ddl.
Lo voy a probar en windows con .net y les cuento como me fué a ver si es
un error de mono.
Saludos.
On 11/02/11 00:46, Dario Quintana wrote:
Hola Bruno,
Si probás exactamente esto en .Net y Windows, y te funciona, puede que
el error provenga del Mono, y es allí donde debes pedir ayuda.
Estás seguro que estás usando ese código ? Estoy viendo en tu
StackTrace esto: NHibernate.Tool.hbm2ddl, y también en tu namespace,
que sirve para exportar el DDL, pero no lo estoy viendo en tu código
ni configuración.
Saludos
2011/2/10 Bruno Reato <[email protected] <mailto:[email protected]>>
Hola a todos:
Estoy probando la versión 3 de nhibernate con Postgresql y estoy
teniendo algunos problemas para hacerlo funcionar. Mi
configuración es la siguiente:
S.O.: Ubuntu 10.10
Versión de Mono: 2.6.7
NHibernate: 3.0
Postgresql: 9.0
Hice una pequeña aplicación de consola con 1 entidad llamada Product:
Product.cs
using System;
namespace PruebaNhibernate.domain
{
[Serializable]
public class Product
{
public Product ()
{
}
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string Category { get; set; }
public virtual bool Discontinued { get; set; }
}
}
Y el archivo de mapeo:
Product.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="PruebaNhibernate"
namespace="PruebaNhibernate.domain">
<class name="Product">
<id name="Id">
<generator class="sequence">
<param name="sequence">Gen_Product</param>
</generator>
</id>
<property name="Name" />
<property name="Category" />
<property name="Discontinued" />
</class>
</hibernate-mapping>
Luego tengo el archivo de configuración de nhibernate:
hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property
name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property
name="connection.driver_class">NHibernate.Driver.NpgsqlDriver</property>
<property
name="connection.connection_string">Server=localhost;Database=nhibernate;User
ID=xxx;Password=xxx;</property>
<property
name="dialect">NHibernate.Dialect.PostgreSQLDialect</property>
<property
name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,
NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
Y el archivo de la aplicación consola:
Main.cs
using System;
using NHibernate.Cfg;
using PruebaNhibernate.domain;
using NHibernate;
using NHibernate.Tool.hbm2ddl;
namespace PruebaNhibernate
{
class MainClass
{
public static void Main (string[] args)
{
var cfg = new Configuration();
try{
cfg.Configure("hibernate.cfg.xml");
cfg.AddXmlFile("./mappings/Product.hbm.xml");
ISessionFactory sessionFactory =
cfg.BuildSessionFactory();
ISession session = sessionFactory.OpenSession();
session.Close();
} catch (Exception ex){
Console.WriteLine(ex.StackTrace.ToString());
}
}
}
}
Cuando ejecuto la aplicación me dá un error al ejecutar
BuildSessionFactory con el siguiente mensaje:
Cannot cast from source type to destination type.
Y el StackTrace es:
at
NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare
() [0x00000] in <filename unknown>:0
at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords
(NHibernate.Dialect.Dialect dialect, IConnectionHelper
connectionHelper) [0x00000] in <filename unknown>:0
at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update
(ISessionFactory sessionFactory) [0x00000] in <filename unknown>:0
at NHibernate.Impl.SessionFactoryImpl..ctor
(NHibernate.Cfg.Configuration cfg, IMapping mapping,
NHibernate.Cfg.Settings settings, NHibernate.Event.EventListeners
listeners) [0x00000] in <filename unknown>:0
at NHibernate.Cfg.Configuration.BuildSessionFactory () [0x00000]
in <filename unknown>:0
at PruebaNhibernate.MainClass.Main (System.String[] args)
[0x0001e] in /home/bruno/Projects/PruebaNhibernate/Main.cs:18
Espero que me puedan ayudar.
Saludos.
Bruno.
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
<mailto:[email protected]>
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
--
Dario Quintana
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano