Basicamente esas no son las reglas de este negocio, la aplicacion esta pensada en ser utilizada por usuarios que manejan roles aquel que solo es cajero para armar su factura tendra necesariamente que seleccionar items que fueron persistidos con anterioridad por otro usuario con un rol de diferente (este gestionara los productos entre otras cosas), el usuario cajero no tiene porque persistir items, unicamente seleccionarlos y armar la factura.
Como soy nuevo en nhibernate he visto algunos ejemplos de factura-linea-producto en el web, y todos persistian los items al momento de armar la factura. Por ejemplo cuando vas al supermercado, y vas a una de las cajas, no te encuentras con el cajero armando tu factura e ingresando (persistiendo) tambien los items en ese momento, estos ya fueron previamente ingresados Gracias por los comentarios, de todos estoy aprendiendo saludos El día 8 de diciembre de 2009 18:25, José F. Romaniello <[email protected]> escribió: > Si tus productos son fijos, son contados, y no hay posibilidad en el > mundo... Es decir, es más dificil que la empresa cambie de dueño, a que > agregue nuevos productos, en ese caso..... No necesitas persistirlos, y > podes mapearlos bien ;) > Yo uso > esto: http://fabiomaulo.blogspot.com/2009/08/from-db-to-ram-wellknowinstancetype.html > > > > > El 8 de diciembre de 2009 20:21, Edgar Ramos <[email protected]> > escribió: >> >> Entendido, eres sabio en tus palabras >> >> gracias nuevamente y a seguir leyendo >> >> El día 8 de diciembre de 2009 17:04, Carlos Peix >> <[email protected]> escribió: >> > Hola Edgar, >> > En tu segundo mail encuentro esta frase "mi duda era mas por el hecho de >> > crear un archivo de mapeo de una clase que no voy a persistir", entiendo >> > que >> > te referis al producto. >> > En condiciones usuales, un producto que no tiene mapping, no existe para >> > NH. >> > Si lo que quieres decir es que no vas a "grabar" o "modificar" productos >> > u >> > otros objetos con NH, esta muy bien, pero de todas maneras se necesitan >> > los >> > mappings para que NH pueda recuperarlos. Si no quieres grabarlos >> > simplemente >> > no uses el metodo Save de la sesion. >> > En la creacion de item de la factura, deberias utilizar una instancia >> > del >> > objeto producto que hayas recuperado con NHibernate en la misma sesion. >> > Entonces, para todos los objetos con los cuales quieres que trabaje NH, >> > ya >> > sea recuperandolos o grabandolos, tendras que construir un mapping. >> > ---------------------------------- >> > Carlos Peix >> > >> > 2009/12/8 Edgar Ramos <[email protected]> >> >> >> >> Creo que va a darse lo que tu opinas, pero como se enfoca este >> >> contexto en nhibernate ? >> >> >> >> Por ejemplo para otros casos con la misma Factura, si mi contexto gira >> >> alrededor de un hotel, mi factura tendra asociada una habitacion, un >> >> huesped, una tarifa, todas estas ya ingresadas en el sistema (tambien >> >> en la BDD), el cajero comienza armar las lineas (detalle de gastos del >> >> huesped) con productos (tambien ingresados en la BDD). >> >> >> >> El cajero no ingresa (no persiste) estos productos, tarifas, >> >> huespedes, etc, simplemente los selecciona (de algun lado) y compone >> >> su factura >> >> >> >> Estoy un poco perdido, pido disculpas por mi ignorancia >> >> >> >> El día 8 de diciembre de 2009 16:27, Carlos Peix >> >> <[email protected]> escribió: >> >> > Hola Edgar, >> >> > Ahora entiendo un poco mas. En una primera lectura de tu mail entendi >> >> > que no >> >> > querias persistir el producto "en la misma operacion que persistias >> >> > la >> >> > factura", pero que producto era un objeto persistente con su >> >> > correspondiente >> >> > mapping. >> >> > No conozco tu diseño pero me atreveria a decir que no vas a tener >> >> > problemas >> >> > con la persistencia pero cuando recuperes la factura y sus items (con >> >> > NH) no >> >> > vas a tener la instancia del objeto producto. >> >> > ---------------------------------- >> >> > Carlos Peix >> >> > >> >> > 2009/12/8 Edgar Ramos <[email protected]> >> >> >> >> >> >> Si efectivamente todo funciona, mi duda era mas por el hecho de >> >> >> crear >> >> >> un archivo de mapeo de una clase que no voy a persistir, pero creo >> >> >> nhibernate no sabria que hacer sin este, ya que me saltaba un error >> >> >> al >> >> >> no tener dicho archivo >> >> >> >> >> >> Gracias Carlos >> >> >> >> >> >> PD: En mi afan de hacer bien las cosas, estoy justamente leyendo un >> >> >> post anterior "DDD y Repositorios DAO" en donde mencionas todo lo >> >> >> que >> >> >> en mi cabeza todavia no logro armar, son tantas cosas por leer y el >> >> >> tiempo de entregar los proyectos avanza mas rapido >> >> >> >> >> >> El día 8 de diciembre de 2009 16:01, Carlos Peix >> >> >> <[email protected]> escribió: >> >> >> > Hola, >> >> >> > Esa es la forma correcta y, si configuras correctamente los >> >> >> > mappings, >> >> >> > NH >> >> >> > se >> >> >> > encarga de todo. >> >> >> > ---------------------------------- >> >> >> > Carlos Peix >> >> >> > >> >> >> > 2009/12/8 Edgar Ramos <[email protected]> >> >> >> >> >> >> >> >> En mi intento por aprender Nhibernate estoy tratando de hacer lo >> >> >> >> siguiente >> >> >> >> >> >> >> >> De este Modelo Factura-Linea-Producto, solo deseo persistir >> >> >> >> Factura >> >> >> >> y >> >> >> >> linea. Por supuesto que linea tiene 1..* Productos y 1 Producto >> >> >> >> puede >> >> >> >> estar en 1..* Lineas >> >> >> >> No deseo persistir Productos ya que estos le serán mostrados al >> >> >> >> usuario como una lista (datos existentes una tabla de la BDD ) >> >> >> >> para >> >> >> >> que el escoja cual añadir >> >> >> >> Entonces tengo un objeto factura, al cual le añado una o varias >> >> >> >> lineas >> >> >> >> de factura, y cada linea tiene su producto respectivo, tengo los >> >> >> >> hbms >> >> >> >> creados y correctamente mapeados de Factura, Linea y Producto >> >> >> >> >> >> >> >> Unicamente hago un session.Save(Factura) y un >> >> >> >> transaction.Commit() y >> >> >> >> logro mi objeto, el de no persistir producto, pero esta forma >> >> >> >> seria >> >> >> >> la >> >> >> >> correcta ? >> >> >> >> >> >> >> >> Gracias por sus comentarios >> >> >> >> >> >> >> >> saludos >> >> >> >> >> >> >> >> >> >> >> > >> >> >> > >> >> >> > > >> >> >> > >> >> >> >> >> >> >> >> > >> >> > >> >> > > >> >> > >> >> >> >> >> > >> > >> > > >> > >> >> > > > > > --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
