Carlos, yo uso NH Facility con ATM. Lo que tengo es definido defaultFlushMode = "Commit"
y el flush se hace automatico en cada commit (todos los methodos que trabajan contra la base de datos estan marcados con [Transaction]) Hay algunos casos especiales donde hago Delete que tengo que hacer un session.Flush inmediato...Fabio me habia comentado algo de que si usara hilo no tendria que hacerlo, pero es en un proyecto empezado y ta...asi funciona. Abrazo. Gustavo. 2008/9/8 Carlos Peix <[EMAIL PROTECTED]> > Dario, esa es la primera que se me ocurrio, de hecho es la que use hasta > ahora que me decidi a hacerlo bien. > > De todas maneras tengo otros problemas, creo que NHibernateIntegration > facility me esta jugando una mala pasada con el flush de la sesion. Alguien > la usa por aqui junto con el Automatic Transaction Facility? como manejan el > flush? > > Volviendo al tema principal, creo que lo resolvi con IUserType, pero no es > facil implementarlo cuando la propiedad es un reference type (Object) y > encima de type desconocido. Los ejemplos que se encuentran en la web manejan > strings, la cual tiene varias ventajas: es inmutable y sobrecarga Equals. Si > no dispones de eso hacer un IUserType no es trivial. > > Por lo demas, es la solucion perfecta. > > Ya pasare el codigo. > > Carlos Peix > > ------------------------------ > *De:* [email protected] [mailto: > [EMAIL PROTECTED] *En nombre de *Dario Quintana > *Enviado el:* Domingo, 07 de Septiembre de 2008 11:46 p.m. > > *Para:* [email protected] > *Asunto:* [NHibernate-Hispano] Re: Pertsistiendo un miembro derivado > > Carlos, > Se me ocurre al vuelo, podrías ensuciar la property con un dummy para poder > disparar el Update, y luega sobreescribirla en la intercepción. > > On Sun, Sep 7, 2008 at 11:13 PM, Carlos Peix <[EMAIL PROTECTED]>wrote: > >> Hola Dario, >> >> Estoy con NH 1.2.1... >> >> Estuve probando la recomendacion de Gustavo pero creo que en el caso de >> ILifeCycle, IInterceptor o IUserType, en todos ellos me pasa los mismos, NH, >> por algun motivo, cree que no he modificado el objeto si lo unico que he >> tocado es este campo con una persistencia especial. >> >> Estoy seguro de que estoy cometiendo otro error. >> >> Carlos Peix >> >> ------------------------------ >> *De:* [email protected] [mailto: >> [EMAIL PROTECTED] *En nombre de *Dario Quintana >> *Enviado el:* Domingo, 07 de Septiembre de 2008 09:01 p.m. >> *Para:* [email protected] >> *Asunto:* [NHibernate-Hispano] Re: Pertsistiendo un miembro derivado >> >> Hola Carlos, >> Leyendo al vuelo sin analizar mucho, que problemas hay con EventListeners >> ? Por que veo que no los probaste según lo que nombrás. >> >> Un Abrazo >> >> On Sun, Sep 7, 2008 at 4:21 PM, Carlos Peix <[EMAIL PROTECTED]>wrote: >> >>> >>> Hola gente, estoy enredado con el siguiente problema. >>> >>> Tengo un objeto persistente mas o menos asi: >>> >>> public class Ejemplo { >>> >>> // Este miembro no es persistente >>> private object dynamicData; >>> public object DynamicData { >>> get { >>> return dynamicData; >>> } >>> } >>> >>> // Este miembro es el que se persiste como un XML >>> private string serializadData; >>> } >>> >>> Este es el mapping: >>> >>> <class name="Extensible" table="Extensibles"> >>> >>> <id name="Id"> >>> <generator class="guid.comb"/> >>> </id> >>> >>> <property name="SerializedData" length="5000" >>> access="field.camelcase"/> >>> >>> </class> >>> >>> Lo que me gustaria hacer es, cuando el objeto se carga desde la base de >>> datos, deserializar de esta manera: >>> >>> // SerializationHelper es una clase mia >>> dynamicData = SerializationHelper.Serialize(serializadData); >>> >>> Y antes de persistir hacer esto: >>> >>> // SerializationHelper es una clase mia >>> serializadData = SerializationHelper.Deserialize(dynamicData); >>> >>> El problema es que no logro hacerlo ni con ILifeCycle ni con >>> Iinterceptor, >>> parece que Nhibernate no dispara el update porque no detecta cambio en >>> ese >>> miembro, lo cual es logico porque no cambia hasta que no lo serializo de >>> nuevo. >>> >>> Necesito tener esta representacion dual del objeto porque, por un lado, >>> tengo que persistirlo en XML y por el otro, tengo que disponer de el como >>> instancia de objeto. >>> >>> Alguna pista? Alguna otra manera de hacer esto? >>> >>> Carlos Peix >>> >>> >>> >>> >> >> >> -- >> Dario Quintana >> http://darioquintana.com.ar >> >> > > > -- > Dario Quintana > http://darioquintana.com.ar > > > --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
